home *** CD-ROM | disk | FTP | other *** search
/ Developer CD Series 1992 June: ROMin Holiday / ADC Developer CD (1992-06) (''ROMin Holiday'')_iso / Developer Connection - 06-1992.iso / Developer Essentials / DTS Sample Code / Macintosh Sample Code / SC.023.FracApp 2.0 / FracApp.r < prev    next >
Encoding:
Text File  |  1990-04-30  |  62.7 KB  |  1,601 lines  |  [TEXT/MPS ]

  1. /*------------------------------------------------------------------------------------------
  2.  
  3.     Program:    FracApp 2.0
  4.     File:        FracApp.r
  5.  
  6.     by Keith Rollin & Bo3b Johnson
  7.     of Apple Macintosh Developer Technical Support
  8.  
  9.     Copyright © 1988-1990 Apple Computer, Inc.
  10.     All rights reserved.
  11.  
  12. ------------------------------------------------------------------------------------------*/
  13.  
  14. /* ==============================   Includes   ================================= */
  15.  
  16. #ifndef __TYPES.R__
  17. #include "Types.r"
  18. #endif
  19.  
  20. #ifndef __SYSTYPES.R__
  21. #include "SysTypes.r"
  22. #endif
  23.  
  24. #ifndef __MacAppTypes__
  25. #include "MacAppTypes.r"
  26. #endif
  27.  
  28. #if qTemplateViews
  29. #ifndef __ViewTypes__
  30. #include "ViewTypes.r"
  31. #endif
  32. #endif
  33.  
  34. /* =================   Standard and Default MacApp resources   ================== */
  35.  
  36. include $$Shell("ObjApp")$$Shell("XAppName") 'CODE';
  37. include "MacApp.rsrc";
  38. include "Dialog.rsrc";
  39. include "Printing.rsrc";
  40. include "Defaults.rsrc"  'cmnu' (1);        // Apple Menu
  41. include "Defaults.rsrc"  'cmnu' (3);        // Edit Menus
  42. include "Defaults.rsrc"  'cmnu' (128);        // Buzzwords
  43. include "Defaults.rsrc"  'vers' (2);        // Overall package
  44.  
  45. #if qDebug
  46. include "Debug.rsrc";
  47. #endif
  48.  
  49.  
  50. /* ==============================   Constants   ================================ */
  51.  
  52. // Menu items numbers
  53.  
  54. // #define mApple            1            // These are defined in MacAppTypes.r
  55. // #define mFile            2
  56. // #define mEdit            3
  57. #define mZoomy                4
  58. #define mOptions            5
  59. #define mWindows            6
  60.  
  61. // Menu commands
  62.  
  63. #define cNewFromSelection    1000
  64. #define cNewMultiPage        1001
  65. #define cAnimate            1002
  66. #define cJumble                1003
  67. #define cNormal                1004
  68. #define cUse32CQD            1005
  69. #define cUseHomebrew        1006
  70. #define cMake72dpi            1007
  71. #define cMake300dpi            1008
  72. #define cSlowAlgorithm        1009
  73. #define cFastAlgorithm        1010
  74. #define cFirstWindowBase    2000
  75.  
  76. // String list (STR#) resource numbers
  77.  
  78. #define    kErrorStrings        1100
  79. #define    kAlgorithmStrings    1200
  80.  
  81. // ID numbers for our palettes and color table
  82.  
  83. #define    kClut                501
  84. #define    kTolerantPalette    1001
  85. #define    kAnimatingPalette    1002
  86.  
  87. // IDs for some dialogs
  88.  
  89. #define kMultiDialog        2002
  90. #define kAbout                4000
  91. #define kAbout2                4001
  92. #define kUnsupportedMac        -25001
  93. #define    kNo32BCQD            -25002
  94. #define kCompiledWrong        -25003
  95.  
  96. /* ======================   Version Resource ('vers')   ======================== */
  97.  
  98. // Version for the application or file
  99.  
  100. resource 'vers' (1,
  101. #if qNames
  102.     "Application Version",
  103. #endif
  104.     purgeable) {
  105.     0x02, 0x00, final, 0x00,
  106.     verUs,
  107.     "2.0",
  108.     "FracApp 2.0, ©1988-90 Apple Computer"
  109. };
  110.  
  111. /* ============================   Bundle Stuff   =============================== */
  112. /*
  113.     Now all the baggage required for the Icons at the Finder.  No real program
  114.     keeps the default Icon.  Herein is the BNDL, Arfz , ICN#, FREF resources
  115.     required. The ‘Arfz’ is the application type.
  116. */
  117.  
  118. resource 'BNDL' (128) {
  119.     'Arfz', 0,
  120.     {
  121.         'ICN#', { 0, 128, 1, 129 },
  122.         'FREF', { 0, 128, 1, 129 }
  123.     }
  124. };
  125.  
  126. resource 'FREF' (128) { 'APPL', 0, "" };
  127. resource 'FREF' (129) { 'PICT', 1, "" };
  128.  
  129.  
  130. // Icon used for our application
  131.  
  132. resource 'ICN#' (128) {
  133.     {
  134.  
  135.         $"0000 0001 0000 0002 0000 0004 0040 0018 0020 0418 001C 03E0 001C 03E0 001F FFE0"
  136.         $"0007 FFE0 0007 FFE0 0007 FF90 0007 FF80 FFFF FF80 FFFF FF80 DFFF FF80 EFFF FF80"
  137.         $"F1FF FF80 F1FF FF80 F1FF FFE0 FE07 FFE0 FE07 C0E0 FE07 8050 FE07 3028 FE01 C810"
  138.         $"FE0E 7F8F FFE2 3007 FFFF 0007 FFFF 8007 FFFF E007 FFFF FFE7 FFFF F01F FFFF F007",
  139.  
  140.         $"0000 0001 0000 0002 0000 0004 0040 0018 0020 0418 001C 03E0 001C 03E0 001F FFE0"
  141.         $"0007 FFE0 0007 FFE0 0007 FF90 0007 FF80 FFFF FF80 FFFF FF80 FFFF FF80 FFFF FF80"
  142.         $"FFFF FF80 FFFF FF80 FFFF FFE0 FFFF FFE0 FFFF FFE0 FFFF FFF0 FFFF FFF8 FFFF FFF0"
  143.         $"FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF F01F FFFF F007"
  144.     }
  145. };
  146.  
  147. // Icon used for our documents
  148.  
  149. resource 'ICN#' (129) {
  150.     {
  151.  
  152.         $"0FFF FC00 0C00 0200 0A00 0100 0980 0080 0982 0040 087C 03A0 087C 0390 087F FF90"
  153.         $"087F FE10 087F FE10 089F FE10 081F FE10 081F FFF0 081F FFF0 081F FFF0 081F FFF0"
  154.         $"081F FFF0 081F FFF0 087F FFF0 0870 FFF0 0870 FFF0 0880 FFF0 0900 FFF0 0800 FFF0"
  155.         $"0800 FFF0 0800 FFF0 0800 FFF0 0800 FFF0 0800 FFF0 0800 FFF0 0800 FFF0 0FFF FFF0",
  156.  
  157.         $"0FFF FC00 0FFF FE00 0FFF FF00 0FFF FF80 0FFF FFC0 0FFF FFE0 0FFF FFF0 0FFF FFF0"
  158.         $"0FFF FFF0 0FFF FFF0 0FFF FFF0 0FFF FFF0 0FFF FFF0 0FFF FFF0 0FFF FFF0 0FFF FFF0"
  159.         $"0FFF FFF0 0FFF FFF0 0FFF FFF0 0FFF FFF0 0FFF FFF0 0FFF FFF0 0FFF FFF0 0FFF FFF0"
  160.         $"0FFF FFF0 0FFF FFF0 0FFF FFF0 0FFF FFF0 0FFF FFF0 0FFF FFF0 0FFF FFF0 0FFF FFF0"
  161.     }
  162. };
  163.  
  164.  
  165. /* =======================   Size Resource ('SIZE')   ========================== */
  166.  
  167. resource 'SIZE' (-1) {
  168.     saveScreen,
  169.     acceptSuspendResumeEvents,
  170.     enableOptionSwitch,
  171.     canBackground,
  172.     MultiFinderAware,
  173.     backgroundAndForeground,
  174.     dontGetFrontClicks,
  175.     ignoreChildDiedEvents,
  176.     is32BitCompatible,
  177.     reserved, reserved, reserved,
  178.     reserved, reserved, reserved, reserved,
  179.  
  180. // In the best case, allow for 3 documents, the app, and some slop.
  181. // At the minimum, allow for a document, the app, and some slop.
  182.  
  183. #if qDebug
  184.     #define kAppCodeSize 350
  185.     #define kOverheadSize 100
  186.     #define kDocsize 480
  187.     #define kSlopSize 60
  188. #else
  189.     #define kAppCodeSize 175
  190.     #define kOverheadSize 75
  191.     #define kDocsize 480
  192.     #define kSlopSize 60
  193. #endif
  194.  
  195.     (kAppCodeSize + kOverheadSize + (kDocSize * 3) + kSlopSize) * 1024,
  196.     (kAppCodeSize + kOverheadSize + kDocSize + kSlopSize) * 1024
  197. };
  198.  
  199.  
  200. /* ======================   Memory Resource ('mem!')   ========================= */
  201. /*
  202.     The mem! resource that MacApp uses to know how much more space we need to
  203.     reserve.  We reserve a big old 60K just for fun, so we don’t have to narrow
  204.     down the memory useage too closely.  This is big enough to cut us slack during
  205.     the big picture playbacks.  A little wasteful.  We aren’t currently using the
  206.     low space reserve, since we don’t have many commands to implement. Our memory
  207.     useage comes in big hunks so it is not as useful to watch for crossing a low
  208.     memory barrier.  We tend to run out completely or not at all. We could check
  209.     the space is low before allowing the new fractal operations, but currently it
  210.     will fail during the allocation and let the user know. Somewhat less friendly,
  211.     but adequate. The 60K number was found heuristically by examining the heap with
  212.     Macsbug to see how big the code blocks are.
  213. */
  214.  
  215. resource 'mem!' (1000) {
  216.         60 * 1024,        /* code reserve size */
  217.         0,                /* low space reserve size */
  218.         0                /* stack size */
  219. };
  220.  
  221.  
  222. /* ======================   Debugger Window ('dbug')   ========================= */
  223. /*
  224.     This, I say, is what I like. With MacApp 2.0, you specify the size, location,
  225.     title, font, etc. of your debugger window. Since I have two monitors, I’m going
  226.     to stick the window way out on my left so that I can see it when the FracApp
  227.     windows are busy covering the right. If you run this program on your computer
  228.     and don’t have a screen out there, then MacApp will just force it onto the
  229.     screen for you at runtime.
  230. */
  231.  
  232. #if qDebug
  233. #define monaco 4
  234. resource 'dbug' (kDebugParamsID) {
  235.     { 200, -620, 470, -20 },    // location/size of window
  236.     monaco, 9,                    // font face, size
  237.     120, 132,                    // Height, width
  238.     openInitially,                // open the window when app starts
  239.     normal                        // Title
  240. };
  241. #endif
  242.  
  243.  
  244. /* ===========================   Menus ('cmnu')   ============================== */
  245. /*
  246.     For the menus, we set the enable flags to zero for simplicity.   The right
  247.     pieces will get enabled by the MacApp handlers (DoSetUpMenus for whatever
  248.     object can do it), so we’ll start with disabled.
  249. */
  250.  
  251. resource 'cmnu' (mFile) {
  252.     mFile, textMenuProc, 0, enabled, "File", {
  253.         "New",                    noIcon, "N", noMark, plain, cNew;
  254.         "New from selection",    noIcon, noKey, noMark, plain, cNewFromSelection;
  255.         "New multi-page…",        noIcon, noKey, noMark, plain, cNewMultiPage;
  256.         "Open…",                noIcon, "O", noMark, plain, cOpen;
  257.         "-",                    noIcon, noKey, noMark, plain, nocommand;
  258.         "Close",                noIcon, "W", noMark, plain, cClose;
  259.         "Save",                    noIcon, "S", noMark, plain, cSave;
  260.         "Save As…",                noIcon, noKey, noMark, plain, cSaveAs;
  261.         "Save a Copy In…",        noIcon, noKey, noMark, plain, cSaveCopy;
  262.         "-",                    noIcon, noKey, noMark, plain, nocommand;
  263.         "Page Setup…",            noIcon, noKey, noMark, plain, cPageSetup;
  264.         "Print One",            noIcon, noKey, noMark, plain, cPrintOne;
  265.         "Print…",                noIcon, noKey, noMark, plain, cPrint;
  266.         "-",                    noIcon, noKey, noMark, plain, nocommand;
  267.         "Quit",                    noIcon, "Q", noMark, plain, cQuit
  268.     }
  269. };
  270.  
  271. resource 'cmnu' (mZoomy) {
  272.     mZoomy, textMenuProc, 0, enabled, "Animate", {
  273.         "Animate the Palette",            noIcon, noKey, noMark, plain, cAnimate;
  274.         "Jumble the Palette",            noIcon, noKey, noMark, plain, cJumble;
  275.         "Everything back to Normal",    noIcon, noKey, noMark, plain, cNormal;
  276.     }
  277. };
  278.  
  279. resource 'cmnu' (mOptions) {
  280.     mOptions, textMenuProc, 0, enabled, "Options", {
  281.         "Pixel-by-Pixel algorithm",                noIcon, noKey, noMark, plain, cSlowAlgorithm;
  282.         "Mariani/Silver algorithm",                noIcon, noKey, noMark, plain, cFastAlgorithm;
  283.         "-",                                    noIcon, noKey, noMark, plain, nocommand;
  284.         "32-Bit QuickDraw offscreen routines",    noIcon, noKey, noMark, plain, cUse32CQD;
  285.         "Homebrew offscreen routines",            noIcon, noKey, noMark, plain, cUseHomebrew;
  286.         "-",                                    noIcon, noKey, noMark, plain, nocommand;
  287.         "Generate at 72 dpi",                    noIcon, noKey, noMark, plain, cMake72dpi;
  288.         "Generate at 300 dpi",                    noIcon, noKey, noMark, plain, cMake300dpi;
  289.     }
  290. };
  291.  
  292. resource 'cmnu' (mWindows) {
  293.     mWindows, textMenuProc, 0, enabled, "Windows", {
  294.         "This menu has no name, just words and a tune", noIcon, noKey, noMark, plain, cFirstWindowBase;
  295.     }
  296. };
  297.  
  298. resource 'MBAR' (128) { { mApple; mFile; mEdit; mZoomy; mOptions; mWindows } };
  299.  
  300.  
  301. /* =====================   Selection Pattern ('PAT ')   ======================== */
  302. /*
  303.     Now the pattern that is used for the selection rectangle.
  304. */
  305.  
  306. resource 'PAT ' (128, preload, nonpurgeable) {
  307.     $"FCF9 F3E7 CF9F 3F7E"
  308. };
  309.  
  310.  
  311. /* ============================   Handy Strings   ============================== */
  312.  
  313. resource 'STR#' (kAlgorithmStrings,
  314. #if qNames
  315.     "kAlgorithmStrings",
  316. #endif
  317.     purgeable) {
  318.     {
  319.     /* [1] */    "Using ";
  320.     /* [2] */    "unknown algorithm";
  321.     /* [3] */    "Pixel by Pixel";
  322.     /* [4] */    "Mariani/Silver";
  323.     /* [5] */    "/";
  324.     /* [6] */    "Homebrew";
  325.     /* [7] */    "32CQD";
  326.     }
  327. };
  328.  
  329.  
  330. /* ===========================   Error Messages   ============================== */
  331. /*
  332.     List mapping of our error code to the info string. Error messages come in four
  333.     flavors, depending on the value of the high word of the ‘message’ parameter:
  334.  
  335.  
  336.     msg.hiword            Message
  337.     ==========            =======
  338.     msgCmdErr(0)        "Could not complete the “^2” command because ^0. ^1"
  339.                             ^2 = result of CmdToName(msg.loword)
  340.                             ^0 = LookupErrString(err, errReasonID)
  341.                             ^1 = LookupErrString(err, errRecoveryID)
  342.     msgAlert(-1)        Show Alert whose ID is in low word of the message.
  343.                         Doesn’t call ParamText.
  344.     msgLookup(-2)        "Could not ^2 because ^0.  ^1"
  345.                             ^2 = LookupErrString(msg.loword, errOperationsID)
  346.                             ^0 = LookupErrString(err, errReasonID)
  347.                             ^1 = LookupErrString(err, errRecoveryID)
  348.     msgAltRecovery(-3)    "Could not ^2 because ^0.  ^1"
  349.                             ^2 = LookupErrString(msg.loword, errOperationsID)
  350.                             ^0 = LookupErrString(msg.loword, errReasonID)
  351.                             ^1 = LookupErrString(err, errRecoveryID)
  352.     OTHERWISE            "Could not ^2 because ^0.  ^1"
  353.                             ^2 = GetIndString(opString, c.hiword, c.loword)
  354.                             ^0 = LookupErrString(err, errReasonID)
  355.                             ^1 = LookupErrString(err, errRecoveryID)
  356.  
  357.     NOTES:
  358.         ^2 = what menu command failed (for msgCmdErr);        e.g., ‘New’.
  359.         ^2 = what operation failed (for all other errors);    e.g., ‘save the document’
  360.         ^0 = reason for error;        e.g., ‘the disk is locked’.
  361.         ^1 = how to recover;        e.g., ‘Eject the disk and move the tab.’
  362.  
  363.         ^3 = gErrorParm3. You can embed ^3 into one of your substitution strings. For
  364.             instance, say you wanted to display a message that referred to a currently
  365.             open file. In that case, you could set gErrorParm3 to the name of the file,
  366.             and use one of the incantations above to set ^2 to “munge the file ^3”. That
  367.             way, ^3 will get replaced with the name of your file.
  368.  
  369.         If ^2 is ever empty, the phrase ‘Could not complete your request because ^0.
  370.             ^1’ is used in the dialog boxes.
  371.  
  372.  
  373.     So how does this “LookupErrString” business work? What MacApp does is use a
  374.     combination of ‘errs’ and ‘STR#’ resources. Each ‘errs’ resource binds itself
  375.     to a ‘STR#’ resource, and then has a list of error number ranges that map into
  376.     the strings in its ‘STR#’ resource. The basic format is a triplet: bottom range
  377.     of the error numbers, top range of the error numbers, and string index that is
  378.     associated with an error in that range. For instance, the ‘errs’ resource below
  379.     says:
  380.  
  381.         “I am associated with ‘STR#’ kErrorStrings. If I am asked for the string
  382.          associated with error kUnsupportedMac, I’ll return the string #4 in that ‘STR#’
  383.          resource. If I am asked for the string associated with error -151 or -152, I’ll
  384.          return the fourth string in that resource.”
  385.  
  386.     Normally, MacApp looks at ‘errs’ resource 128 when it needs to fill in ^0 (the
  387.     reason for the error), 129 when it needs to fill in ^1 (how to recover), and
  388.     130 when it needs to fill in ^2 (the operation that failed). These resources
  389.     are maintained by MacApp itself.
  390.  
  391.     However, MacApp first checks to see if the application wants to override or
  392.     augment those tables by first looking for resources that have the ID it wants
  393.     plus 1000. So below, we are adding to the list of reasons for the error (128 +
  394.     1000).
  395. */
  396.  
  397. resource 'errs' (errReasonID + 1000, purgeable) {
  398.     {    whichList, 0, kErrorStrings;            /* Specify to use STR# kErrorStrings */
  399.         kUnsupportedMac, kUnsupportedMac, 2;    /* error code if wrong machine. */
  400.         -152, -152, 4;                        /* translate Color Manager error to out of mem. */
  401.     }
  402. };
  403.  
  404. resource 'errs' (errRecoveryID + 1000, purgeable) {
  405.     {    whichList, 0, kErrorStrings;            /* Specify to use STR# kErrorStrings */
  406.         kUnsupportedMac, kUnsupportedMac, 3;    /* error code if wrong machine. */
  407.     }
  408. };
  409.  
  410. resource 'errs' (errOperationsID + 1000, purgeable) {
  411.     {    whichList, 0, kErrorStrings;            /* Specify to use STR# kErrorStrings */
  412.         kUnsupportedMac, kUnsupportedMac, 1;    /* error code if wrong machine. */
  413.     }
  414. };
  415.  
  416. /* The info strings for our errors.  */
  417.  
  418. resource 'STR#' (kErrorStrings,
  419. #if qNames
  420.     "kErrorStrings",
  421. #endif
  422.     purgeable) {
  423.     {
  424.     /* [1] */    "start the application";
  425.     /* [2] */    "Color QuickDraw, a 68881 or 68882 (FPU), a 68020 microprocessor, "
  426.                 "and at least System 6.0 are required";
  427.     /* [3] */    "";
  428.     /* [4] */    "there is not enough memory"
  429.     }
  430. };
  431.  
  432.  
  433. /* used when the user attempts to run FracApp on an unsupported machine */
  434.  
  435. resource 'DITL' (kUnsupportedMac,
  436. #if qNames
  437.     "kUnsupportedMac",
  438. #endif
  439.     purgeable) {
  440.     {
  441.         {120, 220, 140, 280}, Button { enabled, "OK" };
  442.         {10, 20, 42, 52}, Icon { disabled, 0 };            // stop Icon
  443.         {10, 70, 115, 280}, StaticText { disabled,
  444.             "Your computer needs Color QuickDraw, a 68881 or 68882 (FPU),"
  445. #if qNeedsMC68020
  446.             " a 68020 or 68030 microprocessor,"
  447. #endif
  448. #if qNeedsMC68030
  449.             " a 68030 microprocessor,"
  450. #endif
  451.             " and at least System 6.0 to run FracApp." };
  452.     }
  453. };
  454.  
  455.  
  456. resource 'DITL' (kNo32BCQD,
  457. #if qNames
  458.     "kNo32BCQD",
  459. #endif
  460.     purgeable) {
  461.     {
  462.         {120, 220, 140, 280}, Button { enabled, "OK" };
  463.         {10, 20, 42, 52}, Icon { disabled, 1 };            // note Icon
  464.         {10, 70, 115, 280}, StaticText { disabled,
  465.             "FracApp performs some spiffy color animation if 32-bit Color QuickDraw "
  466.             "is installed. You don’t have it installed, so some menu items will be "
  467.             "disabled (greyed out)." };
  468.     }
  469. };
  470.  
  471. #if !(qNeedsColorQD)
  472. resource 'DITL' (kCompiledWrong,
  473. #if qNames
  474.     "kCompiledWrong",
  475. #endif
  476.     purgeable) {
  477.     {
  478.         {120, 320, 140, 380}, Button { enabled, "OK" };
  479.         {10, 20, 42, 52}, Icon { disabled, 0 };            // stop Icon
  480.         {10, 70, 115, 380}, StaticText { disabled,
  481.             "FracApp absolutely needs to be compiled for Color QuickDraw and a Floating "
  482.             "Point co-processor. Please make sure you use the -NeedsColorQD and "
  483.             "-NeedsFPU options on your MABuild command line." };
  484.     }
  485. };
  486. #endif
  487.  
  488. resource 'ALRT' (kUnsupportedMac,
  489. #if qNames
  490.     "kUnsupportedMac",
  491. #endif
  492.     purgeable) {
  493.     {0, 0, 150, 300},
  494.     kUnsupportedMac,
  495.     {
  496.         OK, visible, sound2;
  497.         OK, visible, sound2;
  498.         OK, visible, sound2;
  499.         OK, visible, sound2;
  500.     }
  501. };
  502.  
  503.  
  504. resource 'ALRT' (kNo32BCQD,
  505. #if qNames
  506.     "kNo32BCQD",
  507. #endif
  508.     purgeable) {
  509.     {0, 0, 150, 300},
  510.     kNo32BCQD,
  511.     {
  512.         OK, visible, sound1;
  513.         OK, visible, sound1;
  514.         OK, visible, sound1;
  515.         OK, visible, sound1;
  516.     }
  517. };
  518.  
  519.  
  520. #if !(qNeedsColorQD)
  521. resource 'ALRT' (kCompiledWrong,
  522. #if qNames
  523.     "kCompiledWrong",
  524. #endif
  525.     purgeable) {
  526.     {0, 0, 150, 400},
  527.     kCompiledWrong,
  528.     {
  529.         OK, visible, sound2;
  530.         OK, visible, sound2;
  531.         OK, visible, sound2;
  532.         OK, visible, sound2;
  533.     }
  534. };
  535. #endif
  536.  
  537. /* =======================   Views/Windows ('view')   ========================== */
  538. #define geneva9 plain, 9, { 0x0, 0x0, 0x0 }, "Geneva"
  539.  
  540. resource 'view' (kDefaultWindowID,
  541. #if qNames
  542. "kDefaultWindowID",
  543. #endif
  544.     purgeable) {
  545.     {
  546.         root, 'WIND',
  547.         { 40, 3 }, { 300, 495 }, sizeVariable, sizeVariable, shown, enabled,
  548.         Window { "TFracAppWindow", zoomDocProc, goAwayBox, resizable, modeless,
  549.             ignoreFirstClick, freeOnClosing, disposeOnFree, closesDocument, openWithDocument,
  550.             adaptToScreen, stagger, forceOnScreen, dontCenter, 'FRAC', "" };
  551.  
  552.         'WIND', noid,
  553.         { 0, 0 }, { 17, 608 }, sizeFixed, sizeSuperView, shown, enabled,
  554.         View { "" };
  555.  
  556.         'WIND', 'tCTL',
  557.         { 0, 0 }, { 17, 0 }, sizeFixed, sizeFixed, shown, disabled,
  558.         StaticText { "", 0b0, {1, 1}, sizeable, notDimmed, notHilited,
  559.             doesntDismiss, {2, 0, 0, 0}, geneva9, justLeft,
  560.             "Calculation Time:" },
  561.  
  562.         'WIND', 'tCTm',
  563.         { 0, 0 }, { 17, 0 }, sizeFixed, sizeFixed, shown, disabled,
  564.         StaticText { "TNoFlashStaticText", 0b0, {1, 1}, sizeable, notDimmed, notHilited,
  565.             doesntDismiss, {2, 0, 0, 0}, geneva9, justLeft,
  566.             "" },
  567.  
  568.         'WIND', 'tETL',
  569.         { 0, 0 }, { 17, 0 }, sizeFixed, sizeFixed, shown, disabled,
  570.         StaticText { "", 0b0, {1, 1}, sizeable, notDimmed, notHilited,
  571.             doesntDismiss, {2, 0, 0, 0}, geneva9, justLeft,
  572.             "Elapsed Time:" },
  573.  
  574.         'WIND', 'tETm',
  575.         { 0, 0 }, { 17, 0 }, sizeFixed, sizeFixed, shown, disabled,
  576.         StaticText { "TNoFlashStaticText", 0b0, {1, 1}, sizeable, notDimmed, notHilited,
  577.             doesntDismiss, {2, 0, 0, 0}, geneva9, justLeft,
  578.             "" },
  579.  
  580.         'WIND', 'tTYP',
  581.         { 0, 0 }, { 17, 0 }, sizeFixed, sizeFixed, shown, disabled,
  582.         StaticText { "", 0b0, {1, 1}, sizeable, notDimmed, notHilited,
  583.             doesntDismiss, {2, 0, 0, 0}, geneva9, justLeft,
  584.             "" },
  585.  
  586.         'WIND', 'dBAR',
  587.         { 17, 0 }, { 3, 608 }, sizeFixed, sizeSuperView, shown, disabled,
  588.         Control { "", adnLineTop+adnLineBottom, {1, 1}, sizeable, notDimmed,
  589.             notHilited, doesntDismiss, {0, 0, 0, 0}, plain, 0, { 0x0, 0x0, 0x0 }, "" };
  590.  
  591.         'WIND', 'sBAR',
  592.         { 0, 0 }, { 1, 0 }, sizeFixed, sizeSuperView, shown, disabled,
  593.         Control { "", adnLineTop, {1, 1}, sizeable, notDimmed, notHilited,
  594.             doesntDismiss, {0, 0, 0, 0}, plain, 0, { 0x0, 0x0, 0x0 }, "" };
  595.  
  596.         'WIND', 'tPCT',
  597.         { 0, 0 }, { 17, 0 }, sizeFixed, sizeFixed, shown, disabled,
  598.         StaticText { "TNoFlashStaticText", 0b0, {1, 1}, sizeable, notDimmed, notHilited,
  599.             doesntDismiss, {0, 0, 0, 0}, geneva9, justRight,
  600.             "" },
  601.  
  602.         'WIND', 'tPCL',
  603.         { 0, 0 }, { 17, 0 }, sizeFixed, sizeFixed, shown, disabled,
  604.         StaticText { "", 0b0, {1, 1}, sizeable, notDimmed, notHilited,
  605.             doesntDismiss, {0, 0, 0, 0}, geneva9, justLeft,
  606.             "% Completed" },
  607.  
  608.         'WIND', 'SCLR',
  609.         { 20, 0 }, { 300-20-kSBarSizeMinus1, 495-kSBarSizeMinus1 },
  610.         sizeRelSuperView, sizeRelSuperView, shown, enabled,
  611.         Scroller { "", vertScrollBar, horzScrollBar, 0, 0, 16, 16, vertConstrain,
  612.             horzConstrain, { 0, 100, 0, 0 } };
  613.  
  614.         'SCLR',IncludeViews    { kDefaultViewID }
  615.     }
  616. };
  617.  
  618. resource 'view' (kDefaultViewID,
  619. #if qNames
  620. "kDefaultViewID",
  621. #endif
  622.     purgeable) {
  623.     {
  624.         root, 'FRAC',
  625.         { 0, 0 }, { 798, 608 }, sizeFixed, sizeFixed, shown, enabled,
  626.         View { "TFracAppView" }
  627.     }
  628. };
  629.  
  630.  
  631. resource 'view' (KMultiDialog,
  632. #if qNames
  633. "MultiPage Modal",
  634. #endif
  635.     purgeable) {
  636.     {
  637.         root, 'wind',
  638.         { 50, 40 }, { 192, 352 }, sizeFixed, sizeFixed, shown, enabled,
  639.         Window { "", dBoxProc, noGoAwayBox, notResizable, modal, ignoreFirstClick,
  640.             dontFreeOnClosing, disposeOnFree, closesDocument, openWithDocument,
  641.             dontAdaptToScreen,  dontStagger, dontForceOnScreen, center, 'HORZ', "<<<>>>" },
  642.  
  643.         'wind', 'DLOG',
  644.         { 0, 0 }, { 192, 352 }, sizeSuperView, sizeSuperView, shown, enabled,
  645.         DialogView { "", 'OKOK', 'CANC' },
  646.  
  647.         'DLOG', noid,
  648.         { 16, 16 }, { 32, 320 }, sizeFixed, sizeFixed, shown, disabled,
  649.         StaticText { "", 0b0, {1, 1}, sizeable, notDimmed, notHilited,
  650.             doesntDismiss, {0, 0, 0, 0}, plain, 0, { 0x0, 0x0, 0x0 }, "", justLeft,
  651.             "Multiple documents will be created based on the selection.  How many pages "
  652.             "would you like?" },
  653.  
  654.         'DLOG', noid,
  655.         { 64, 96 }, { 16, 96 }, sizeFixed, sizeFixed, shown, disabled,
  656.         StaticText { "", 0b0, {1, 1}, sizeable, notDimmed, notHilited,
  657.             doesntDismiss, {0, 0, 0, 0}, plain, 0, { 0x0, 0x0, 0x0 }, "", justLeft,
  658.             "Horizontally:" },
  659.  
  660.         'DLOG', noid,
  661.         { 96, 96 }, { 16, 96 }, sizeFixed, sizeFixed, shown, disabled,
  662.         StaticText { "", 0b0, {1, 1}, sizeable, notDimmed, notHilited,
  663.             doesntDismiss, {0, 0, 0, 0}, plain, 0, { 0x0, 0x0, 0x0 }, "", justLeft,
  664.             "Vertically:" },
  665.  
  666.         'DLOG', 'OKOK',
  667.         { 140, 28 }, { 40, 120 }, sizeFixed, sizeFixed, shown, enabled,
  668.         Button { "", 0b1000000, {3, 3}, notSizeable, notDimmed, notHilited,
  669.             dismisses, {4, 4, 4, 4}, plain, 0, { 0x0, 0x0, 0x0 }, "",
  670.             "OK" },
  671.  
  672.         'DLOG', 'CANC',
  673.         { 144, 192 }, { 32, 112 }, sizeFixed, sizeFixed, shown, enabled,
  674.         Button { "", 0b0, {1, 1}, notSizeable, notDimmed, notHilited,
  675.             dismisses, {4, 4, 4, 4}, plain, 0, { 0x0, 0x0, 0x0 }, "",
  676.             "Cancel" },
  677.  
  678.         'DLOG', 'HORZ',
  679.         { 62, 224 }, { 20, 32 }, sizeFixed, sizeFixed, shown, enabled,
  680.         NumberText { "", 0b1111, {1, 1}, notSizeable, notDimmed, notHilited,
  681.             doesntDismiss, {2, 2, 2, 2}, plain, 0, { 0x0, 0x0, 0x0  }, "", justLeft, "10",
  682.             unlimited, 0b11110000000000000000000100000000, 10, 1, 100 },
  683.  
  684.         'DLOG', 'VERT',
  685.         { 94, 224 }, { 20, 32 }, sizeFixed, sizeFixed, shown, enabled,
  686.         NumberText { "", 0b1111, {1, 1}, notSizeable, notDimmed, notHilited,
  687.             doesntDismiss, {2, 2, 2, 2}, plain, 0, { 0x0, 0x0, 0x0  }, "", justLeft, "10",
  688.             unlimited, 0b11110000000000000000000100000000, 10, 1, 100 },
  689.     }
  690. };
  691.  
  692. // About box dudes.
  693.  
  694. resource 'view' (kAbout,
  695. #if qNames
  696. "About...",
  697. #endif
  698.     purgeable) {
  699.     {
  700.         root, 'wind',
  701.         { 50, 40 }, { 264, 416 }, sizeVariable, sizeVariable, shown, enabled,
  702.         Window { "", dBoxProc, noGoAwayBox, notResizable, modal, ignoreFirstClick,
  703.             dontFreeOnClosing, disposeOnFree, closesDocument, openWithDocument,
  704.             dontAdaptToScreen, dontStagger, dontForceOnScreen, center, 'okok', "<<<>>>" },
  705.  
  706.         'wind', 'DLOG',
  707.         { 0, 0 }, { 264, 416 }, sizeFixed, sizeFixed, shown, enabled,
  708.         DialogView { "", 'okok', noID },
  709.  
  710.         'DLOG', 'icon',
  711.         { 16, 16 }, { 48, 48 }, sizeFixed, sizeFixed, shown, enabled,
  712.         Icon { "", 0b0, {1, 1}, sizeable, notDimmed, notHilited, dismisses,
  713.             {0, 0, 0, 0}, plain, 0, { 0x0, 0x0, 0x0 }, "", preferColor, kAbout },
  714.  
  715.         'DLOG', noid,
  716.         { 16, 96 }, { 24, 304 }, sizeFixed, sizeFixed, shown, disabled,
  717.         StaticText { "", 0b0, {1, 1}, sizeable, notDimmed, notHilited,
  718.             doesntDismiss, {0, 0, 0, 0}, 4, 24, { 0xFFFF, 0x0, 0x0 }, "Times",
  719.             justCenter, "FracApp 2.0" },
  720.  
  721.         'DLOG', noid,
  722.         { 48, 96 }, { 32, 304 }, sizeFixed, sizeFixed, shown, disabled,
  723.         StaticText { "", 0b0, {1, 1}, sizeable, notDimmed, notHilited,
  724.             doesntDismiss, {0, 0, 0, 0}, plain, 0, { 0x0, 0x0, 0x0 }, "A", justCenter,
  725.             "Brought to you by: Keith Rollin\n"
  726.             "of Macintosh Developer Technical Support" },
  727.  
  728.         'DLOG', noid,
  729.         { 88, 120 }, { 16, 256 }, sizeFixed, sizeFixed, shown, disabled,
  730.         StaticText { "", 0b0, {1, 1}, sizeable, notDimmed, notHilited,
  731.             doesntDismiss, {0, 0, 0, 0}, plain, 0, { 0x0, 0x0, 0x0 }, "A", justLeft,
  732.             "Special Thanks to all the little people:" },
  733.  
  734.         'DLOG', noid,
  735.         { 112, 112 }, { 16, 16 }, sizeFixed, sizeFixed, shown, disabled,
  736.         StaticText { "", 0b0, {1, 1}, sizeable, notDimmed, notHilited,
  737.             doesntDismiss, {0, 0, 0, 0}, plain, 0, { 0x0, 0x0, 0x0 }, "", justLeft, "•" },
  738.  
  739.         'DLOG', noid,
  740.         { 112, 128 }, { 32, 272 }, sizeFixed, sizeFixed, shown, disabled,
  741.         StaticText { "", 0b0, {1, 1}, sizeable, notDimmed, notHilited,
  742.             doesntDismiss, {0, 0, 0, 0}, plain, 0, { 0x0, 0x0, 0x0 }, "A", justLeft,
  743.             "Bo3b Johnson for pioneering the way, and for the neat name." },
  744.  
  745.         'DLOG', noid,
  746.         { 152, 112 }, { 16, 16 }, sizeFixed, sizeFixed, shown, disabled,
  747.         StaticText { "", 0b0, {1, 1}, sizeable, notDimmed, notHilited,
  748.             doesntDismiss, {0, 0, 0, 0}, plain, 0, { 0x0, 0x0, 0x0 }, "", justLeft, "•" },
  749.  
  750.         'DLOG', noid,
  751.         { 152, 128 }, { 32, 272 }, sizeFixed, sizeFixed, shown, disabled,
  752.         StaticText { "", 0b0, {1, 1}, sizeable, notDimmed, notHilited,
  753.             doesntDismiss, {0, 0, 0, 0}, plain, 0, { 0x0, 0x0, 0x0 }, "A", justLeft,
  754.             "Jon Zap and Guillermo Ortiz for their QuickDraw expertise." },
  755.  
  756.         'DLOG', noid,
  757.         { 192, 112 }, { 16, 16 }, sizeFixed, sizeFixed, shown, disabled,
  758.         StaticText { "", 0b0, {1, 1}, sizeable, notDimmed, notHilited,
  759.             doesntDismiss, {0, 0, 0, 0}, plain, 0, { 0x0, 0x0, 0x0 }, "", justLeft, "•" },
  760.  
  761.         'DLOG', noid,
  762.         { 192, 128 }, { 16, 272 }, sizeFixed, sizeFixed, shown, disabled,
  763.         StaticText { "", 0b0, {1, 1}, sizeable, notDimmed, notHilited,
  764.             doesntDismiss, {0, 0, 0, 0}, plain, 0, { 0x0, 0x0, 0x0 }, "A", justLeft,
  765.             "Rich Collyer Bunny for his FPU tips." },
  766.  
  767.         'DLOG', noid,
  768.         { 216, 112 }, { 16, 16 }, sizeFixed, sizeFixed, shown, disabled,
  769.         StaticText { "", 0b0, {1, 1}, sizeable, notDimmed, notHilited,
  770.             doesntDismiss, {0, 0, 0, 0}, plain, 0, { 0x0, 0x0, 0x0 }, "", justLeft, "•" },
  771.  
  772.         'DLOG', noid,
  773.         { 216, 128 }, { 32, 272 }, sizeFixed, sizeFixed, shown, disabled,
  774.         StaticText { "", 0b0, {1, 1}, sizeable, notDimmed, notHilited,
  775.             doesntDismiss, {0, 0, 0, 0}, plain, 0, { 0x0, 0x0, 0x0 }, "A", justLeft,
  776.             "Arthur Britto at OMI for his suggestion on the Mariani/Silver algorithm." },
  777.  
  778.         'DLOG', 'box ',
  779.         { 112, 16 }, { 96, 80 }, sizeVariable, sizeVariable, shown, disabled,
  780.         Control { "", 0b10001111, {1, 1}, sizeable, notDimmed, notHilited,
  781.             doesntDismiss, {0, 0, 0, 0}, plain, 0, { 0x0, 0x0, 0x0 }, "" },
  782.  
  783.         'box ', noid,
  784.         { 1, 1 }, { 93, 77 }, sizeFixed, sizeFixed, shown, disabled,
  785.         StaticText { "", 0b0, {1, 1}, sizeable, notDimmed, notHilited,
  786.             doesntDismiss, {3, 3, 3, 3}, plain, 9, { 0x0, 0x0, 0xFFFF }, "A", justCenter,
  787.             "This program was written with \n"
  788.             "MacApp® 2.0\n"
  789.             "© 1985-1990 Apple Computer, Inc." },
  790.  
  791.         'DLOG', 'okok',
  792.         { 216, 16 }, { 32, 80 }, sizeFixed, sizeFixed, shown, enabled,
  793.         Button { "", 0b1000000, {3, 3}, sizeable, notDimmed, notHilited,
  794.             dismisses, {4, 4, 4, 4}, plain, 0, { 0x0, 0x0, 0x0 }, "", "OK" },
  795.  
  796.     }
  797. };
  798.  
  799. resource 'view' (kAbout2, purgeable) {
  800.     {
  801.         root, 'wind',
  802.         { 50, 40 }, { 112, 176 }, sizeVariable, sizeVariable, shown, enabled,
  803.         Window { "", dBoxProc, noGoAwayBox, notResizable, modal, ignoreFirstClick,
  804.             dontFreeOnClosing, disposeOnFree, closesDocument, openWithDocument,
  805.             dontAdaptToScreen, dontStagger, dontForceOnScreen, center, 'okok', "<<<>>>" },
  806.  
  807.         'wind', 'DLOG',
  808.         { 0, 0 }, { 112, 176 }, sizeFixed, sizeFixed, shown, enabled,
  809.         DialogView { "", 'okok', noID },
  810.  
  811.         'DLOG', noid,
  812.         { 16, 16 }, { 32, 144 }, sizeFixed, sizeFixed, shown, disabled,
  813.         StaticText { "", 0b0, {1, 1}, sizeable, notDimmed, notHilited,
  814.             doesntDismiss, {0, 0, 0, 0}, plain, 0, { 0x0, 0x0, 0x0 }, "", justCenter,
  815.             "Don’t mess with the FracApp icon!!!" },
  816.  
  817.         'DLOG', 'okok',
  818.         { 64, 32 }, { 32, 112 }, sizeFixed, sizeFixed, shown, enabled,
  819.         Button { "", 0b1000000, {3, 3}, sizeable, notDimmed, notHilited,
  820.             dismisses, {4, 4, 4, 4}, plain, 0, { 0x0, 0x0, 0x0 }, "", "I’m bad…" },
  821.     }
  822. };
  823.  
  824. /* =======================   About Box Icon ('ICON')   ========================= */
  825.  
  826. /* The icon used in the about box.  The same as the program ICN#, but ICON instead. */
  827.  
  828. resource 'ICON' (kAbout, purgeable) {
  829.     $"0000 0001 0000 0002 0000 0004 0040 0018 0020 0418 001C 03E0 001C 03E0 001F FFE0"
  830.     $"0007 FFE0 0007 FFE0 0007 FF90 0007 FF80 FFFF FF80 FFFF FF80 DFFF FF80 EFFF FF80"
  831.     $"F1FF FF80 F1FF FF80 F1FF FFE0 FE07 FFE0 FE07 C0E0 FE07 8050 FE07 3028 FE01 C810"
  832.     $"FE0E 7F8F FFE2 3007 FFFF 0007 FFFF 8007 FFFF E007 FFFF FFE7 FFFF F01F FFFF F007"
  833. };
  834.  
  835. /* =========================   Color Table ('clut')   ========================== */
  836. /*
  837.     The brave new approach.  This will be the clut resource that we use to do the
  838.     color table for the offscreen bitmap.  This is a set of colors that we
  839.     specifically want in our bitmap, the only ones that we use. This table has all
  840.     the artificial requirements that a color table normally has, like having white
  841.     first, black last. This color table is the one really desired for the actual
  842.     fractals, so it will be used only for the offscreen map.  Resource Id is to be
  843.     in 0..1023 to start with, since it will become the initial ctSeed number.
  844. */
  845.  
  846. resource 'clut' (kClut,
  847. #if qNames
  848.     "kClut",
  849. #endif
  850.     preload) {
  851.     0x0,            /* seed number for this table, left zero for resources */
  852.     0xC000,            /* ctFlags: for gDevice, animating colors */
  853.     {
  854. /*
  855.     Now the actual colors in the table. Look at what we set the colorSpec.value
  856.     fields to. These values reference the animated entries in the palette we use
  857.     for our windows; they are the ones we want to match when we Copybits our
  858.     offscreen stuff to the window.
  859. */
  860.  
  861. /* [1] */    0x00, 0xFFFF, 0xFFFF, 0xFFFF,    /* first color must be white of course. */
  862. /* [2] */    0x10, 0xFFFF, 0x0000, 0x0000,
  863. /* [3] */    0x11, 0xFFFF, 0x0400, 0x0000,
  864. /* [4] */    0x12, 0xFFFF, 0x0800, 0x0000,
  865. /* [5] */    0x13, 0xFFFF, 0x0C00, 0x0000,
  866. /* [6] */    0x14, 0xFFFF, 0x1000, 0x0000,
  867. /* [7] */    0x15, 0xFFFF, 0x1400, 0x0000,
  868. /* [8] */    0x16, 0xFFFF, 0x1800, 0x0000,
  869. /* [9] */    0x17, 0xFFFF, 0x1C00, 0x0000,
  870. /* [10] */    0x18, 0xFFFF, 0x2000, 0x0000,
  871. /* [11] */    0x19, 0xFFFF, 0x2400, 0x0000,
  872. /* [12] */    0x1A, 0xFFFF, 0x2800, 0x0000,
  873. /* [13] */    0x1B, 0xFFFF, 0x2C00, 0x0000,
  874. /* [14] */    0x1C, 0xFFFF, 0x3000, 0x0000,
  875. /* [15] */    0x1D, 0xFFFF, 0x3400, 0x0000,
  876. /* [16] */    0x1E, 0xFFFF, 0x3800, 0x0000,
  877. /* [17] */    0x1F, 0xFFFF, 0x3C00, 0x0000,
  878. /* [18] */    0x20, 0xFFFF, 0x4000, 0x0000,
  879. /* [19] */    0x21, 0xFFFF, 0x4400, 0x0000,
  880. /* [20] */    0x22, 0xFFFF, 0x4800, 0x0000,
  881. /* [21] */    0x23, 0xFFFF, 0x4C00, 0x0000,
  882. /* [22] */    0x24, 0xFFFF, 0x5000, 0x0000,
  883. /* [23] */    0x25, 0xFFFF, 0x5400, 0x0000,
  884. /* [24] */    0x26, 0xFFFF, 0x5800, 0x0000,
  885. /* [25] */    0x27, 0xFFFF, 0x5C00, 0x0000,
  886. /* [26] */    0x28, 0xFFFF, 0x6000, 0x0000,
  887. /* [27] */    0x29, 0xFFFF, 0x6400, 0x0000,
  888. /* [28] */    0x2A, 0xFFFF, 0x6800, 0x0000,
  889. /* [29] */    0x2B, 0xFFFF, 0x6C00, 0x0000,
  890. /* [30] */    0x2C, 0xFFFF, 0x7000, 0x0000,
  891. /* [31] */    0x2D, 0xFFFF, 0x7400, 0x0000,
  892. /* [32] */    0x2E, 0xFFFF, 0x7800, 0x0000,
  893. /* [33] */    0x2F, 0xFFFF, 0x7C00, 0x0000,
  894. /* [34] */    0x30, 0xFFFF, 0x8000, 0x0000,
  895. /* [35] */    0x31, 0xFFFF, 0x8400, 0x0000,
  896. /* [36] */    0x32, 0xFFFF, 0x8800, 0x0000,
  897. /* [37] */    0x33, 0xFFFF, 0x8C00, 0x0000,
  898. /* [38] */    0x34, 0xFFFF, 0x9000, 0x0000,
  899. /* [39] */    0x35, 0xFFFF, 0x9400, 0x0000,
  900. /* [40] */    0x36, 0xFFFF, 0x9800, 0x0000,
  901. /* [41] */    0x37, 0xFFFF, 0x9C00, 0x0000,
  902. /* [42] */    0x38, 0xFFFF, 0xA000, 0x0000,
  903. /* [43] */    0x39, 0xFFFF, 0xA400, 0x0000,
  904. /* [44] */    0x3A, 0xFFFF, 0xA800, 0x0000,
  905. /* [45] */    0x3B, 0xFFFF, 0xAC00, 0x0000,
  906. /* [46] */    0x3C, 0xFFFF, 0xB000, 0x0000,
  907. /* [47] */    0x3D, 0xFFFF, 0xB400, 0x0000,
  908. /* [48] */    0x3E, 0xFFFF, 0xB800, 0x0000,
  909. /* [49] */    0x3F, 0xFFFF, 0xBC00, 0x0000,
  910. /* [50] */    0x40, 0xFFFF, 0xC000, 0x0000,
  911. /* [51] */    0x41, 0xFFFF, 0xC400, 0x0000,
  912. /* [52] */    0x42, 0xFFFF, 0xC800, 0x0000,
  913. /* [53] */    0x43, 0xFFFF, 0xCC00, 0x0000,
  914. /* [54] */    0x44, 0xFFFF, 0xD000, 0x0000,
  915. /* [55] */    0x45, 0xFFFF, 0xD400, 0x0000,
  916. /* [56] */    0x46, 0xFFFF, 0xD800, 0x0000,
  917. /* [57] */    0x47, 0xFFFF, 0xDC00, 0x0000,
  918. /* [58] */    0x48, 0xFFFF, 0xE000, 0x0000,
  919. /* [59] */    0x49, 0xFFFF, 0xE400, 0x0000,
  920. /* [60] */    0x4A, 0xFFFF, 0xE800, 0x0000,
  921. /* [61] */    0x4B, 0xFFFF, 0xEC00, 0x0000,
  922. /* [62] */    0x4C, 0xFFFF, 0xF000, 0x0000,
  923. /* [63] */    0x4D, 0xFFFF, 0xF400, 0x0000,
  924. /* [64] */    0x4E, 0xFFFF, 0xF800, 0x0000,
  925. /* [65] */    0x4F, 0xFFFF, 0xFC00, 0x0000,
  926. /* [66] */    0x50, 0xFFFF, 0xFFFF, 0x0000,    /* end of first set.  */
  927. /* [67] */    0x51, 0x0000, 0xFFFF, 0x0000,
  928. /* [68] */    0x52, 0x0000, 0xFFFF, 0x0400,
  929. /* [69] */    0x53, 0x0000, 0xFFFF, 0x0800,
  930. /* [70] */    0x54, 0x0000, 0xFFFF, 0x0C00,
  931. /* [71] */    0x55, 0x0000, 0xFFFF, 0x1000,
  932. /* [72] */    0x56, 0x0000, 0xFFFF, 0x1400,
  933. /* [73] */    0x57, 0x0000, 0xFFFF, 0x1800,
  934. /* [74] */    0x58, 0x0000, 0xFFFF, 0x1C00,
  935. /* [75] */    0x59, 0x0000, 0xFFFF, 0x2000,
  936. /* [76] */    0x5A, 0x0000, 0xFFFF, 0x2400,
  937. /* [77] */    0x5B, 0x0000, 0xFFFF, 0x2800,
  938. /* [78] */    0x5C, 0x0000, 0xFFFF, 0x2C00,
  939. /* [79] */    0x5D, 0x0000, 0xFFFF, 0x3000,
  940. /* [80] */    0x5E, 0x0000, 0xFFFF, 0x3400,
  941. /* [81] */    0x5F, 0x0000, 0xFFFF, 0x3800,
  942. /* [82] */    0x60, 0x0000, 0xFFFF, 0x3C00,
  943. /* [83] */    0x61, 0x0000, 0xFFFF, 0x4000,
  944. /* [84] */    0x62, 0x0000, 0xFFFF, 0x4400,
  945. /* [85] */    0x63, 0x0000, 0xFFFF, 0x4800,
  946. /* [86] */    0x64, 0x0000, 0xFFFF, 0x4C00,
  947. /* [87] */    0x65, 0x0000, 0xFFFF, 0x5000,
  948. /* [88] */    0x66, 0x0000, 0xFFFF, 0x5400,
  949. /* [89] */    0x67, 0x0000, 0xFFFF, 0x5800,
  950. /* [90] */    0x68, 0x0000, 0xFFFF, 0x5C00,
  951. /* [91] */    0x69, 0x0000, 0xFFFF, 0x6000,
  952. /* [92] */    0x6A, 0x0000, 0xFFFF, 0x6400,
  953. /* [93] */    0x6B, 0x0000, 0xFFFF, 0x6800,
  954. /* [94] */    0x6C, 0x0000, 0xFFFF, 0x6C00,
  955. /* [95] */    0x6D, 0x0000, 0xFFFF, 0x7000,
  956. /* [96] */    0x6E, 0x0000, 0xFFFF, 0x7400,
  957. /* [97] */    0x6F, 0x0000, 0xFFFF, 0x7800,
  958. /* [98] */    0x70, 0x0000, 0xFFFF, 0x7C00,
  959. /* [99] */    0x71, 0x0000, 0xFFFF, 0x8000,
  960. /* [100] */    0x72, 0x0000, 0xFFFF, 0x8400,
  961. /* [101] */    0x73, 0x0000, 0xFFFF, 0x8800,
  962. /* [102] */    0x74, 0x0000, 0xFFFF, 0x8C00,
  963. /* [103] */    0x75, 0x0000, 0xFFFF, 0x9000,
  964. /* [104] */    0x76, 0x0000, 0xFFFF, 0x9400,
  965. /* [105] */    0x77, 0x0000, 0xFFFF, 0x9800,
  966. /* [106] */    0x78, 0x0000, 0xFFFF, 0x9C00,
  967. /* [107] */    0x79, 0x0000, 0xFFFF, 0xA000,
  968. /* [108] */    0x7A, 0x0000, 0xFFFF, 0xA400,
  969. /* [109] */    0x7B, 0x0000, 0xFFFF, 0xA800,
  970. /* [110] */    0x7C, 0x0000, 0xFFFF, 0xAC00,
  971. /* [111] */    0x7D, 0x0000, 0xFFFF, 0xB000,
  972. /* [112] */    0x7E, 0x0000, 0xFFFF, 0xB400,
  973. /* [113] */    0x7F, 0x0000, 0xFFFF, 0xB800,
  974. /* [114] */    0x80, 0x0000, 0xFFFF, 0xBC00,
  975. /* [115] */    0x81, 0x0000, 0xFFFF, 0xC000,
  976. /* [116] */    0x82, 0x0000, 0xFFFF, 0xC400,
  977. /* [117] */    0x83, 0x0000, 0xFFFF, 0xC800,
  978. /* [118] */    0x84, 0x0000, 0xFFFF, 0xCC00,
  979. /* [119] */    0x85, 0x0000, 0xFFFF, 0xD000,
  980. /* [120] */    0x86, 0x0000, 0xFFFF, 0xD400,
  981. /* [121] */    0x87, 0x0000, 0xFFFF, 0xD800,
  982. /* [122] */    0x88, 0x0000, 0xFFFF, 0xDC00,
  983. /* [123] */    0x89, 0x0000, 0xFFFF, 0xE000,
  984. /* [124] */    0x8A, 0x0000, 0xFFFF, 0xE400,
  985. /* [125] */    0x8B, 0x0000, 0xFFFF, 0xE800,
  986. /* [126] */    0x8C, 0x0000, 0xFFFF, 0xEC00,
  987. /* [127] */    0x8D, 0x0000, 0xFFFF, 0xF000,
  988. /* [128] */    0x8E, 0x0000, 0xFFFF, 0xF400,
  989. /* [129] */    0x8F, 0x0000, 0xFFFF, 0xF800,
  990. /* [130] */    0x90, 0x0000, 0xFFFF, 0xFC00,
  991. /* [131] */    0x91, 0x0000, 0xFFFF, 0xFFFF,    /* end of 2nd set. */
  992. /* [132] */    0x92, 0x0000, 0x0000, 0xFFFF,
  993. /* [133] */    0x93, 0x0400, 0x0000, 0xFFFF,
  994. /* [134] */    0x94, 0x0800, 0x0000, 0xFFFF,
  995. /* [135] */    0x95, 0x0C00, 0x0000, 0xFFFF,
  996. /* [136] */    0x96, 0x1000, 0x0000, 0xFFFF,
  997. /* [137] */    0x97, 0x1400, 0x0000, 0xFFFF,
  998. /* [138] */    0x98, 0x1800, 0x0000, 0xFFFF,
  999. /* [139] */    0x99, 0x1C00, 0x0000, 0xFFFF,
  1000. /* [140] */    0x9A, 0x2000, 0x0000, 0xFFFF,
  1001. /* [141] */    0x9B, 0x2400, 0x0000, 0xFFFF,
  1002. /* [142] */    0x9C, 0x2800, 0x0000, 0xFFFF,
  1003. /* [143] */    0x9D, 0x2C00, 0x0000, 0xFFFF,
  1004. /* [144] */    0x9E, 0x3000, 0x0000, 0xFFFF,
  1005. /* [145] */    0x9F, 0x3400, 0x0000, 0xFFFF,
  1006. /* [146] */    0xA0, 0x3800, 0x0000, 0xFFFF,
  1007. /* [147] */    0xA1, 0x3C00, 0x0000, 0xFFFF,
  1008. /* [148] */    0xA2, 0x4000, 0x0000, 0xFFFF,
  1009. /* [149] */    0xA3, 0x4400, 0x0000, 0xFFFF,
  1010. /* [150] */    0xA4, 0x4800, 0x0000, 0xFFFF,
  1011. /* [151] */    0xA5, 0x4C00, 0x0000, 0xFFFF,
  1012. /* [152] */    0xA6, 0x5000, 0x0000, 0xFFFF,
  1013. /* [153] */    0xA7, 0x5400, 0x0000, 0xFFFF,
  1014. /* [154] */    0xA8, 0x5800, 0x0000, 0xFFFF,
  1015. /* [155] */    0xA9, 0x5C00, 0x0000, 0xFFFF,
  1016. /* [156] */    0xAA, 0x6000, 0x0000, 0xFFFF,
  1017. /* [157] */    0xAB, 0x6400, 0x0000, 0xFFFF,
  1018. /* [158] */    0xAC, 0x6800, 0x0000, 0xFFFF,
  1019. /* [159] */    0xAD, 0x6C00, 0x0000, 0xFFFF,
  1020. /* [160] */    0xAE, 0x7000, 0x0000, 0xFFFF,
  1021. /* [161] */    0xAF, 0x7400, 0x0000, 0xFFFF,
  1022. /* [162] */    0xB0, 0x7800, 0x0000, 0xFFFF,
  1023. /* [163] */    0xB1, 0x7C00, 0x0000, 0xFFFF,
  1024. /* [164] */    0xB2, 0x8000, 0x0000, 0xFFFF,
  1025. /* [165] */    0xB3, 0x8400, 0x0000, 0xFFFF,
  1026. /* [166] */    0xB4, 0x8800, 0x0000, 0xFFFF,
  1027. /* [167] */    0xB5, 0x8C00, 0x0000, 0xFFFF,
  1028. /* [168] */    0xB6, 0x9000, 0x0000, 0xFFFF,
  1029. /* [169] */    0xB7, 0x9400, 0x0000, 0xFFFF,
  1030. /* [170] */    0xB8, 0x9800, 0x0000, 0xFFFF,
  1031. /* [171] */    0xB9, 0x9C00, 0x0000, 0xFFFF,
  1032. /* [172] */    0xBA, 0xA000, 0x0000, 0xFFFF,
  1033. /* [173] */    0xBB, 0xA400, 0x0000, 0xFFFF,
  1034. /* [174] */    0xBC, 0xA800, 0x0000, 0xFFFF,
  1035. /* [175] */    0xBD, 0xAC00, 0x0000, 0xFFFF,
  1036. /* [176] */    0xBE, 0xB000, 0x0000, 0xFFFF,
  1037. /* [177] */    0xBF, 0xB400, 0x0000, 0xFFFF,
  1038. /* [178] */    0xC0, 0xB800, 0x0000, 0xFFFF,
  1039. /* [179] */    0xC1, 0xBC00, 0x0000, 0xFFFF,
  1040. /* [180] */    0xC2, 0xC000, 0x0000, 0xFFFF,
  1041. /* [181] */    0xC3, 0xC400, 0x0000, 0xFFFF,
  1042. /* [182] */    0xC4, 0xC800, 0x0000, 0xFFFF,
  1043. /* [183] */    0xC5, 0xCC00, 0x0000, 0xFFFF,
  1044. /* [184] */    0xC6, 0xD000, 0x0000, 0xFFFF,
  1045. /* [185] */    0xC7, 0xD400, 0x0000, 0xFFFF,
  1046. /* [186] */    0xC8, 0xD800, 0x0000, 0xFFFF,
  1047. /* [187] */    0xC9, 0xDC00, 0x0000, 0xFFFF,
  1048. /* [188] */    0xCA, 0xE000, 0x0000, 0xFFFF,
  1049. /* [189] */    0xCB, 0xE400, 0x0000, 0xFFFF,
  1050. /* [190] */    0xCC, 0xE800, 0x0000, 0xFFFF,
  1051. /* [191] */    0xCD, 0xEC00, 0x0000, 0xFFFF,
  1052. /* [192] */    0xCE, 0xF000, 0x0000, 0xFFFF,
  1053. /* [193] */    0xCF, 0xF400, 0x0000, 0xFFFF,
  1054. /* [194] */    0xD0, 0xF800, 0x0000, 0xFFFF,
  1055. /* [195] */    0xD1, 0xFC00, 0x0000, 0xFFFF,
  1056. /* [196] */    0xD2, 0xFFFF, 0x0000, 0xFFFF,    /* end of 3rd set. */
  1057.  
  1058. /*
  1059.     The extra colors in the system palette.  Not needed really in this version, but
  1060.     they don’t hurt.
  1061. */
  1062.  
  1063. /* [197] */    0x02, 0xC000, 0xC000, 0xC000,    // light gray
  1064. /* [198] */    0x03, 0x8000, 0x8000, 0x8000,    // medium gray
  1065. /* [199] */    0x04, 0x4000, 0x4000, 0x4000,    // dark gray
  1066. /* [200] */    0x05, 0xDD6B, 0x08C2, 0x06A2,    // Apple red
  1067. /* [201] */    0x06, 0xFFFF, 0x648A, 0x028C,    // Apple orange
  1068. /* [202] */    0x07, 0xFC00, 0xF37D, 0x052F,    // Apple yellow
  1069. /* [203] */    0x08, 0x1F21, 0xB793, 0x1431,    // Apple green
  1070. /* [204] */    0x09, 0x0000, 0x0000, 0xD400,    // Apple blue
  1071. /* [205] */    0x0A, 0x46E3, 0x0000, 0xA53E,    // Apple violet
  1072. /* [206] */    0x0B, 0xF2D7, 0x0856, 0x84EC,
  1073. /* [207] */    0x0C, 0x90D7, 0x7160, 0x3A34,
  1074. /* [208] */    0x0D, 0x0241, 0xAB54, 0xEAFF,
  1075. /* [209] */    0x0E, 0x0000, 0x64AF, 0x11B0,
  1076. /* [210] */    0x0F, 0x5600, 0x2C9D, 0x0524,
  1077.  
  1078. /*
  1079.     Now we have filler colors for the offscreen color table.  These are never used,
  1080.     but have to be here in order to ensure that the color table this becomes is a
  1081.     valid one from the color QD perspective.  If that code hates it, we will too.
  1082.     This will fill the table out to be a full 256 colors.
  1083. */
  1084.  
  1085. /* [211] */    0xD3, 0xAAAA, 0x5555, 0xAAAA,        /* a weird number to set it apart, easier debugging. */
  1086. /* [212] */    0xD4, 0xAAAA, 0x5555, 0xAAAA,
  1087. /* [213] */    0xD5, 0xAAAA, 0x5555, 0xAAAA,
  1088. /* [214] */    0xD6, 0xAAAA, 0x5555, 0xAAAA,
  1089. /* [215] */    0xD7, 0xAAAA, 0x5555, 0xAAAA,
  1090. /* [216] */    0xD8, 0xAAAA, 0x5555, 0xAAAA,
  1091. /* [217] */    0xD9, 0xAAAA, 0x5555, 0xAAAA,
  1092. /* [218] */    0xDA, 0xAAAA, 0x5555, 0xAAAA,
  1093. /* [219] */    0xDB, 0xAAAA, 0x5555, 0xAAAA,
  1094. /* [220] */    0xDC, 0xAAAA, 0x5555, 0xAAAA,
  1095. /* [221] */    0xDD, 0xAAAA, 0x5555, 0xAAAA,
  1096. /* [222] */    0xDE, 0xAAAA, 0x5555, 0xAAAA,
  1097. /* [223] */    0xDF, 0xAAAA, 0x5555, 0xAAAA,
  1098. /* [224] */    0xE0, 0xAAAA, 0x5555, 0xAAAA,
  1099. /* [225] */    0xE1, 0xAAAA, 0x5555, 0xAAAA,
  1100. /* [226] */    0xE2, 0xAAAA, 0x5555, 0xAAAA,
  1101. /* [227] */    0xE3, 0xAAAA, 0x5555, 0xAAAA,
  1102. /* [228] */    0xE4, 0xAAAA, 0x5555, 0xAAAA,
  1103. /* [229] */    0xE5, 0xAAAA, 0x5555, 0xAAAA,
  1104. /* [230] */    0xE6, 0xAAAA, 0x5555, 0xAAAA,
  1105. /* [231] */    0xE7, 0xAAAA, 0x5555, 0xAAAA,
  1106. /* [232] */    0xE8, 0xAAAA, 0x5555, 0xAAAA,
  1107. /* [233] */    0xE9, 0xAAAA, 0x5555, 0xAAAA,
  1108. /* [234] */    0xEA, 0xAAAA, 0x5555, 0xAAAA,
  1109. /* [235] */    0xEB, 0xAAAA, 0x5555, 0xAAAA,
  1110. /* [236] */    0xEC, 0xAAAA, 0x5555, 0xAAAA,
  1111. /* [237] */    0xED, 0xAAAA, 0x5555, 0xAAAA,
  1112. /* [238] */    0xEE, 0xAAAA, 0x5555, 0xAAAA,
  1113. /* [239] */    0xEF, 0xAAAA, 0x5555, 0xAAAA,
  1114. /* [240] */    0xF0, 0xAAAA, 0x5555, 0xAAAA,
  1115. /* [241] */    0xF1, 0xAAAA, 0x5555, 0xAAAA,
  1116. /* [242] */    0xF2, 0xAAAA, 0x5555, 0xAAAA,
  1117. /* [243] */    0xF3, 0xAAAA, 0x5555, 0xAAAA,
  1118. /* [244] */    0xF4, 0xAAAA, 0x5555, 0xAAAA,
  1119. /* [245] */    0xF5, 0xAAAA, 0x5555, 0xAAAA,
  1120. /* [246] */    0xF6, 0xAAAA, 0x5555, 0xAAAA,
  1121. /* [247] */    0xF7, 0xAAAA, 0x5555, 0xAAAA,
  1122. /* [248] */    0xF8, 0xAAAA, 0x5555, 0xAAAA,
  1123. /* [249] */    0xF9, 0xAAAA, 0x5555, 0xAAAA,
  1124. /* [250] */    0xFA, 0xAAAA, 0x5555, 0xAAAA,
  1125. /* [251] */    0xFB, 0xAAAA, 0x5555, 0xAAAA,
  1126. /* [252] */    0xFC, 0xAAAA, 0x5555, 0xAAAA,
  1127. /* [253] */    0xFD, 0xAAAA, 0x5555, 0xAAAA,
  1128. /* [254] */    0xFE, 0xAAAA, 0x5555, 0xAAAA,
  1129. /* [255] */    0xFF, 0xAAAA, 0x5555, 0xAAAA,
  1130. /* [256] */    0x01, 0x0000, 0x0000, 0x0000    /* end of set is black. */
  1131.     }
  1132. };
  1133.  
  1134. /* ==========================   Palettes ('pltt')   ============================ */
  1135.  
  1136. /*
  1137.     Now a palette that is associated with every window automatically when the
  1138.     window is opened.  Early in our program, we read our palette in and set it as
  1139.     the default application palette. If we can’t do this (because we aren’t running
  1140.     under at least System 6.0.2), then we just read in a palette when we need one,
  1141.     and do a SetPalette with it.
  1142.  
  1143.     We have two palettes here. One is for non-32-Bit Color QuickDraw Systems. Under
  1144.     those systems, we have to have a whole bunch of Tolerant(0) entries to make
  1145.     sure that we get the colors we want. However, if we do have 32-Bit Color
  1146.     QuickDraw, then we use a palette with Animated entries. This is because we can
  1147.     coerce 32BCQD to match those when we transfer from our offscreen PixMap to the
  1148.     Window.
  1149.  
  1150.     These palettes are very mellow, just the first 16 colors as the standard color
  1151.     palette.  The first 16 colors are there so that in lower depths we will use a
  1152.     known set of colors, and while we are using known colors we might as well make
  1153.     them ones that will help avoid spurious color updates.  This is the system
  1154.     palette. Anybody using the default colors will get these helping them to look
  1155.     better.
  1156.  
  1157.     The rest of the colors in the palettes are the same as the ones we use in our
  1158.     offscreen color lookup table.
  1159. */
  1160.  
  1161. resource 'pltt' (kTolerantPalette,
  1162. #if qNames
  1163.     "Tolerant Palette",
  1164. #endif
  1165.     preload, nonpurgeable) {
  1166.     {    /* array ColorInfo: 211 elements */
  1167. /* [1] */    0xFFFF, 0xFFFF, 0xFFFF, pmTolerant, 0,    /* white as first guy. */
  1168. /* [2] */    0x0000, 0x0000, 0x0000, pmTolerant, 0,    /* black as 2nd guy.  */
  1169. /* [3] */    0xC000, 0xC000, 0xC000, pmTolerant, 0,    /* next 14 entries from system pallette */
  1170. /* [4] */    0x8000, 0x8000, 0x8000, pmTolerant, 0,    /* all set as tolerant 0 to ensure */
  1171. /* [5] */    0x4000, 0x4000, 0x4000, pmTolerant, 0,    /* ...they are always there. */
  1172. /* [6] */    0xDD6B, 0x08C2, 0x06A2, pmTolerant, 0,
  1173. /* [7] */    0xFFFF, 0x648A, 0x028C, pmTolerant, 0,
  1174. /* [8] */    0xFC00, 0xF37D, 0x052F, pmTolerant, 0,
  1175. /* [9] */    0x1F21, 0xB793, 0x1431, pmTolerant, 0,
  1176. /* [10] */    0x0000, 0x0000, 0xD400, pmTolerant, 0,
  1177. /* [11] */    0x46E3, 0x0000, 0xA53E, pmTolerant, 0,
  1178. /* [12] */    0xF2D7, 0x0856, 0x84EC, pmTolerant, 0,
  1179. /* [13] */    0x90D7, 0x7160, 0x3A34, pmTolerant, 0,
  1180. /* [14] */    0x0241, 0xAB54, 0xEAFF, pmTolerant, 0,
  1181. /* [15] */    0x0000, 0x64AF, 0x11B0, pmTolerant, 0,
  1182. /* [16] */    0x5600, 0x2C9D, 0x0524, pmTolerant, 0,    /* end of standard palette */
  1183. /* [17] */    0xFFFF, 0x0000, 0x0000, pmTolerant, 0,    /* start with red. */
  1184. /* [18] */    0xFFFF, 0x0400, 0x0000, pmTolerant, 0,
  1185. /* [19] */    0xFFFF, 0x0800, 0x0000, pmTolerant, 0,
  1186. /* [20] */    0xFFFF, 0x0C00, 0x0000, pmTolerant, 0,
  1187. /* [21] */    0xFFFF, 0x1000, 0x0000, pmTolerant, 0,
  1188. /* [22] */    0xFFFF, 0x1400, 0x0000, pmTolerant, 0,
  1189. /* [23] */    0xFFFF, 0x1800, 0x0000, pmTolerant, 0,
  1190. /* [24] */    0xFFFF, 0x1C00, 0x0000, pmTolerant, 0,
  1191. /* [25] */    0xFFFF, 0x2000, 0x0000, pmTolerant, 0,
  1192. /* [26] */    0xFFFF, 0x2400, 0x0000, pmTolerant, 0,
  1193. /* [27] */    0xFFFF, 0x2800, 0x0000, pmTolerant, 0,
  1194. /* [28] */    0xFFFF, 0x2C00, 0x0000, pmTolerant, 0,
  1195. /* [29] */    0xFFFF, 0x3000, 0x0000, pmTolerant, 0,
  1196. /* [30] */    0xFFFF, 0x3400, 0x0000, pmTolerant, 0,
  1197. /* [31] */    0xFFFF, 0x3800, 0x0000, pmTolerant, 0,
  1198. /* [32] */    0xFFFF, 0x3C00, 0x0000, pmTolerant, 0,
  1199. /* [33] */    0xFFFF, 0x4000, 0x0000, pmTolerant, 0,
  1200. /* [34] */    0xFFFF, 0x4400, 0x0000, pmTolerant, 0,
  1201. /* [35] */    0xFFFF, 0x4800, 0x0000, pmTolerant, 0,
  1202. /* [36] */    0xFFFF, 0x4C00, 0x0000, pmTolerant, 0,
  1203. /* [37] */    0xFFFF, 0x5000, 0x0000, pmTolerant, 0,
  1204. /* [38] */    0xFFFF, 0x5400, 0x0000, pmTolerant, 0,
  1205. /* [39] */    0xFFFF, 0x5800, 0x0000, pmTolerant, 0,
  1206. /* [40] */    0xFFFF, 0x5C00, 0x0000, pmTolerant, 0,
  1207. /* [41] */    0xFFFF, 0x6000, 0x0000, pmTolerant, 0,
  1208. /* [42] */    0xFFFF, 0x6400, 0x0000, pmTolerant, 0,
  1209. /* [43] */    0xFFFF, 0x6800, 0x0000, pmTolerant, 0,
  1210. /* [44] */    0xFFFF, 0x6C00, 0x0000, pmTolerant, 0,
  1211. /* [45] */    0xFFFF, 0x7000, 0x0000, pmTolerant, 0,
  1212. /* [46] */    0xFFFF, 0x7400, 0x0000, pmTolerant, 0,
  1213. /* [47] */    0xFFFF, 0x7800, 0x0000, pmTolerant, 0,
  1214. /* [48] */    0xFFFF, 0x7C00, 0x0000, pmTolerant, 0,
  1215. /* [49] */    0xFFFF, 0x8000, 0x0000, pmTolerant, 0,
  1216. /* [50] */    0xFFFF, 0x8400, 0x0000, pmTolerant, 0,
  1217. /* [51] */    0xFFFF, 0x8800, 0x0000, pmTolerant, 0,
  1218. /* [52] */    0xFFFF, 0x8C00, 0x0000, pmTolerant, 0,
  1219. /* [53] */    0xFFFF, 0x9000, 0x0000, pmTolerant, 0,
  1220. /* [54] */    0xFFFF, 0x9400, 0x0000, pmTolerant, 0,
  1221. /* [55] */    0xFFFF, 0x9800, 0x0000, pmTolerant, 0,
  1222. /* [56] */    0xFFFF, 0x9C00, 0x0000, pmTolerant, 0,
  1223. /* [57] */    0xFFFF, 0xA000, 0x0000, pmTolerant, 0,
  1224. /* [58] */    0xFFFF, 0xA400, 0x0000, pmTolerant, 0,
  1225. /* [59] */    0xFFFF, 0xA800, 0x0000, pmTolerant, 0,
  1226. /* [60] */    0xFFFF, 0xAC00, 0x0000, pmTolerant, 0,
  1227. /* [61] */    0xFFFF, 0xB000, 0x0000, pmTolerant, 0,
  1228. /* [62] */    0xFFFF, 0xB400, 0x0000, pmTolerant, 0,
  1229. /* [63] */    0xFFFF, 0xB800, 0x0000, pmTolerant, 0,
  1230. /* [64] */    0xFFFF, 0xBC00, 0x0000, pmTolerant, 0,
  1231. /* [65] */    0xFFFF, 0xC000, 0x0000, pmTolerant, 0,
  1232. /* [66] */    0xFFFF, 0xC400, 0x0000, pmTolerant, 0,
  1233. /* [67] */    0xFFFF, 0xC800, 0x0000, pmTolerant, 0,
  1234. /* [68] */    0xFFFF, 0xCC00, 0x0000, pmTolerant, 0,
  1235. /* [69] */    0xFFFF, 0xD000, 0x0000, pmTolerant, 0,
  1236. /* [70] */    0xFFFF, 0xD400, 0x0000, pmTolerant, 0,
  1237. /* [71] */    0xFFFF, 0xD800, 0x0000, pmTolerant, 0,
  1238. /* [72] */    0xFFFF, 0xDC00, 0x0000, pmTolerant, 0,
  1239. /* [73] */    0xFFFF, 0xE000, 0x0000, pmTolerant, 0,
  1240. /* [74] */    0xFFFF, 0xE400, 0x0000, pmTolerant, 0,
  1241. /* [75] */    0xFFFF, 0xE800, 0x0000, pmTolerant, 0,
  1242. /* [76] */    0xFFFF, 0xEC00, 0x0000, pmTolerant, 0,
  1243. /* [77] */    0xFFFF, 0xF000, 0x0000, pmTolerant, 0,
  1244. /* [78] */    0xFFFF, 0xF400, 0x0000, pmTolerant, 0,
  1245. /* [79] */    0xFFFF, 0xF800, 0x0000, pmTolerant, 0,
  1246. /* [80] */    0xFFFF, 0xFC00, 0x0000, pmTolerant, 0,
  1247. /* [81] */    0xFFFF, 0xFFFF, 0x0000, pmTolerant, 0,    /* end of first set. */
  1248. /* [82] */    0x0000, 0xFFFF, 0x0000, pmTolerant, 0,    /* second set is green */
  1249. /* [83] */    0x0000, 0xFFFF, 0x0400, pmTolerant, 0,
  1250. /* [84] */    0x0000, 0xFFFF, 0x0800, pmTolerant, 0,
  1251. /* [85] */    0x0000, 0xFFFF, 0x0C00, pmTolerant, 0,
  1252. /* [86] */    0x0000, 0xFFFF, 0x1000, pmTolerant, 0,
  1253. /* [87] */    0x0000, 0xFFFF, 0x1400, pmTolerant, 0,
  1254. /* [88] */    0x0000, 0xFFFF, 0x1800, pmTolerant, 0,
  1255. /* [89] */    0x0000, 0xFFFF, 0x1C00, pmTolerant, 0,
  1256. /* [90] */    0x0000, 0xFFFF, 0x2000, pmTolerant, 0,
  1257. /* [91] */    0x0000, 0xFFFF, 0x2400, pmTolerant, 0,
  1258. /* [92] */    0x0000, 0xFFFF, 0x2800, pmTolerant, 0,
  1259. /* [93] */    0x0000, 0xFFFF, 0x2C00, pmTolerant, 0,
  1260. /* [94] */    0x0000, 0xFFFF, 0x3000, pmTolerant, 0,
  1261. /* [95] */    0x0000, 0xFFFF, 0x3400, pmTolerant, 0,
  1262. /* [96] */    0x0000, 0xFFFF, 0x3800, pmTolerant, 0,
  1263. /* [97] */    0x0000, 0xFFFF, 0x3C00, pmTolerant, 0,
  1264. /* [98] */    0x0000, 0xFFFF, 0x4000, pmTolerant, 0,
  1265. /* [99] */    0x0000, 0xFFFF, 0x4400, pmTolerant, 0,
  1266. /* [100] */    0x0000, 0xFFFF, 0x4800, pmTolerant, 0,
  1267. /* [101] */    0x0000, 0xFFFF, 0x4C00, pmTolerant, 0,
  1268. /* [102] */    0x0000, 0xFFFF, 0x5000, pmTolerant, 0,
  1269. /* [103] */    0x0000, 0xFFFF, 0x5400, pmTolerant, 0,
  1270. /* [104] */    0x0000, 0xFFFF, 0x5800, pmTolerant, 0,
  1271. /* [105] */    0x0000, 0xFFFF, 0x5C00, pmTolerant, 0,
  1272. /* [106] */    0x0000, 0xFFFF, 0x6000, pmTolerant, 0,
  1273. /* [107] */    0x0000, 0xFFFF, 0x6400, pmTolerant, 0,
  1274. /* [108] */    0x0000, 0xFFFF, 0x6800, pmTolerant, 0,
  1275. /* [109] */    0x0000, 0xFFFF, 0x6C00, pmTolerant, 0,
  1276. /* [110] */    0x0000, 0xFFFF, 0x7000, pmTolerant, 0,
  1277. /* [111] */    0x0000, 0xFFFF, 0x7400, pmTolerant, 0,
  1278. /* [112] */    0x0000, 0xFFFF, 0x7800, pmTolerant, 0,
  1279. /* [113] */    0x0000, 0xFFFF, 0x7C00, pmTolerant, 0,
  1280. /* [114] */    0x0000, 0xFFFF, 0x8000, pmTolerant, 0,
  1281. /* [115] */    0x0000, 0xFFFF, 0x8400, pmTolerant, 0,
  1282. /* [116] */    0x0000, 0xFFFF, 0x8800, pmTolerant, 0,
  1283. /* [117] */    0x0000, 0xFFFF, 0x8C00, pmTolerant, 0,
  1284. /* [118] */    0x0000, 0xFFFF, 0x9000, pmTolerant, 0,
  1285. /* [119] */    0x0000, 0xFFFF, 0x9400, pmTolerant, 0,
  1286. /* [120] */    0x0000, 0xFFFF, 0x9800, pmTolerant, 0,
  1287. /* [121] */    0x0000, 0xFFFF, 0x9C00, pmTolerant, 0,
  1288. /* [122] */    0x0000, 0xFFFF, 0xA000, pmTolerant, 0,
  1289. /* [123] */    0x0000, 0xFFFF, 0xA400, pmTolerant, 0,
  1290. /* [124] */    0x0000, 0xFFFF, 0xA800, pmTolerant, 0,
  1291. /* [125] */    0x0000, 0xFFFF, 0xAC00, pmTolerant, 0,
  1292. /* [126] */    0x0000, 0xFFFF, 0xB000, pmTolerant, 0,
  1293. /* [127] */    0x0000, 0xFFFF, 0xB400, pmTolerant, 0,
  1294. /* [128] */    0x0000, 0xFFFF, 0xB800, pmTolerant, 0,
  1295. /* [129] */    0x0000, 0xFFFF, 0xBC00, pmTolerant, 0,
  1296. /* [130] */    0x0000, 0xFFFF, 0xC000, pmTolerant, 0,
  1297. /* [131] */    0x0000, 0xFFFF, 0xC400, pmTolerant, 0,
  1298. /* [132] */    0x0000, 0xFFFF, 0xC800, pmTolerant, 0,
  1299. /* [133] */    0x0000, 0xFFFF, 0xCC00, pmTolerant, 0,
  1300. /* [134] */    0x0000, 0xFFFF, 0xD000, pmTolerant, 0,
  1301. /* [135] */    0x0000, 0xFFFF, 0xD400, pmTolerant, 0,
  1302. /* [136] */    0x0000, 0xFFFF, 0xD800, pmTolerant, 0,
  1303. /* [137] */    0x0000, 0xFFFF, 0xDC00, pmTolerant, 0,
  1304. /* [138] */    0x0000, 0xFFFF, 0xE000, pmTolerant, 0,
  1305. /* [139] */    0x0000, 0xFFFF, 0xE400, pmTolerant, 0,
  1306. /* [140] */    0x0000, 0xFFFF, 0xE800, pmTolerant, 0,
  1307. /* [141] */    0x0000, 0xFFFF, 0xEC00, pmTolerant, 0,
  1308. /* [142] */    0x0000, 0xFFFF, 0xF000, pmTolerant, 0,
  1309. /* [143] */    0x0000, 0xFFFF, 0xF400, pmTolerant, 0,
  1310. /* [144] */    0x0000, 0xFFFF, 0xF800, pmTolerant, 0,
  1311. /* [145] */    0x0000, 0xFFFF, 0xFC00, pmTolerant, 0,
  1312. /* [146] */    0x0000, 0xFFFF, 0xFFFF, pmTolerant, 0,    /* end of second set */
  1313. /* [147] */    0x0000, 0x0000, 0xFFFF, pmTolerant, 0,    /* final set is blue */
  1314. /* [148] */    0x0400, 0x0000, 0xFFFF, pmTolerant, 0,
  1315. /* [149] */    0x0800, 0x0000, 0xFFFF, pmTolerant, 0,
  1316. /* [150] */    0x0C00, 0x0000, 0xFFFF, pmTolerant, 0,
  1317. /* [151] */    0x1000, 0x0000, 0xFFFF, pmTolerant, 0,
  1318. /* [152] */    0x1400, 0x0000, 0xFFFF, pmTolerant, 0,
  1319. /* [153] */    0x1800, 0x0000, 0xFFFF, pmTolerant, 0,
  1320. /* [154] */    0x1C00, 0x0000, 0xFFFF, pmTolerant, 0,
  1321. /* [155] */    0x2000, 0x0000, 0xFFFF, pmTolerant, 0,
  1322. /* [156] */    0x2400, 0x0000, 0xFFFF, pmTolerant, 0,
  1323. /* [157] */    0x2800, 0x0000, 0xFFFF, pmTolerant, 0,
  1324. /* [158] */    0x2C00, 0x0000, 0xFFFF, pmTolerant, 0,
  1325. /* [159] */    0x3000, 0x0000, 0xFFFF, pmTolerant, 0,
  1326. /* [160] */    0x3400, 0x0000, 0xFFFF, pmTolerant, 0,
  1327. /* [161] */    0x3800, 0x0000, 0xFFFF, pmTolerant, 0,
  1328. /* [162] */    0x3C00, 0x0000, 0xFFFF, pmTolerant, 0,
  1329. /* [163] */    0x4000, 0x0000, 0xFFFF, pmTolerant, 0,
  1330. /* [164] */    0x4400, 0x0000, 0xFFFF, pmTolerant, 0,
  1331. /* [165] */    0x4800, 0x0000, 0xFFFF, pmTolerant, 0,
  1332. /* [166] */    0x4C00, 0x0000, 0xFFFF, pmTolerant, 0,
  1333. /* [167] */    0x5000, 0x0000, 0xFFFF, pmTolerant, 0,
  1334. /* [168] */    0x5400, 0x0000, 0xFFFF, pmTolerant, 0,
  1335. /* [169] */    0x5800, 0x0000, 0xFFFF, pmTolerant, 0,
  1336. /* [170] */    0x5C00, 0x0000, 0xFFFF, pmTolerant, 0,
  1337. /* [171] */    0x6000, 0x0000, 0xFFFF, pmTolerant, 0,
  1338. /* [172] */    0x6400, 0x0000, 0xFFFF, pmTolerant, 0,
  1339. /* [173] */    0x6800, 0x0000, 0xFFFF, pmTolerant, 0,
  1340. /* [174] */    0x6C00, 0x0000, 0xFFFF, pmTolerant, 0,
  1341. /* [175] */    0x7000, 0x0000, 0xFFFF, pmTolerant, 0,
  1342. /* [176] */    0x7400, 0x0000, 0xFFFF, pmTolerant, 0,
  1343. /* [177] */    0x7800, 0x0000, 0xFFFF, pmTolerant, 0,
  1344. /* [178] */    0x7C00, 0x0000, 0xFFFF, pmTolerant, 0,
  1345. /* [179] */    0x8000, 0x0000, 0xFFFF, pmTolerant, 0,
  1346. /* [180] */    0x8400, 0x0000, 0xFFFF, pmTolerant, 0,
  1347. /* [181] */    0x8800, 0x0000, 0xFFFF, pmTolerant, 0,
  1348. /* [182] */    0x8C00, 0x0000, 0xFFFF, pmTolerant, 0,
  1349. /* [183] */    0x9000, 0x0000, 0xFFFF, pmTolerant, 0,
  1350. /* [184] */    0x9400, 0x0000, 0xFFFF, pmTolerant, 0,
  1351. /* [185] */    0x9800, 0x0000, 0xFFFF, pmTolerant, 0,
  1352. /* [186] */    0x9C00, 0x0000, 0xFFFF, pmTolerant, 0,
  1353. /* [187] */    0xA000, 0x0000, 0xFFFF, pmTolerant, 0,
  1354. /* [188] */    0xA400, 0x0000, 0xFFFF, pmTolerant, 0,
  1355. /* [189] */    0xA800, 0x0000, 0xFFFF, pmTolerant, 0,
  1356. /* [190] */    0xAC00, 0x0000, 0xFFFF, pmTolerant, 0,
  1357. /* [191] */    0xB000, 0x0000, 0xFFFF, pmTolerant, 0,
  1358. /* [192] */    0xB400, 0x0000, 0xFFFF, pmTolerant, 0,
  1359. /* [193] */    0xB800, 0x0000, 0xFFFF, pmTolerant, 0,
  1360. /* [194] */    0xBC00, 0x0000, 0xFFFF, pmTolerant, 0,
  1361. /* [195] */    0xC000, 0x0000, 0xFFFF, pmTolerant, 0,
  1362. /* [196] */    0xC400, 0x0000, 0xFFFF, pmTolerant, 0,
  1363. /* [197] */    0xC800, 0x0000, 0xFFFF, pmTolerant, 0,
  1364. /* [198] */    0xCC00, 0x0000, 0xFFFF, pmTolerant, 0,
  1365. /* [199] */    0xD000, 0x0000, 0xFFFF, pmTolerant, 0,
  1366. /* [200] */    0xD400, 0x0000, 0xFFFF, pmTolerant, 0,
  1367. /* [201] */    0xD800, 0x0000, 0xFFFF, pmTolerant, 0,
  1368. /* [202] */    0xDC00, 0x0000, 0xFFFF, pmTolerant, 0,
  1369. /* [203] */    0xE000, 0x0000, 0xFFFF, pmTolerant, 0,
  1370. /* [204] */    0xE400, 0x0000, 0xFFFF, pmTolerant, 0,
  1371. /* [205] */    0xE800, 0x0000, 0xFFFF, pmTolerant, 0,
  1372. /* [206] */    0xEC00, 0x0000, 0xFFFF, pmTolerant, 0,
  1373. /* [207] */    0xF000, 0x0000, 0xFFFF, pmTolerant, 0,
  1374. /* [208] */    0xF400, 0x0000, 0xFFFF, pmTolerant, 0,
  1375. /* [209] */    0xF800, 0x0000, 0xFFFF, pmTolerant, 0,
  1376. /* [210] */    0xFC00, 0x0000, 0xFFFF, pmTolerant, 0,
  1377. /* [211] */    0xFFFF, 0x0000, 0xFFFF, pmTolerant, 0
  1378.     }
  1379. };
  1380.  
  1381. resource 'pltt' (kAnimatingPalette,
  1382. #if qNames
  1383.     "Animating Palette",
  1384. #endif
  1385.     preload, nonpurgeable) {
  1386.     {    /* array ColorInfo: 211 elements */
  1387. /* [1] */    0xFFFF, 0xFFFF, 0xFFFF, pmTolerant, 0,    /* white as first guy. */
  1388. /* [2] */    0x0000, 0x0000, 0x0000, pmTolerant, 0,    /* black as 2nd guy.  */
  1389. /* [3] */    0xC000, 0xC000, 0xC000, pmTolerant, 0,    /* next 14 entries from system pallette */
  1390. /* [4] */    0x8000, 0x8000, 0x8000, pmTolerant, 0,    /* all set as tolerant 0 to ensure */
  1391. /* [5] */    0x4000, 0x4000, 0x4000, pmTolerant, 0,    /* ...they are always there. */
  1392. /* [6] */    0xDD6B, 0x08C2, 0x06A2, pmTolerant, 0,
  1393. /* [7] */    0xFFFF, 0x648A, 0x028C, pmTolerant, 0,
  1394. /* [8] */    0xFC00, 0xF37D, 0x052F, pmTolerant, 0,
  1395. /* [9] */    0x1F21, 0xB793, 0x1431, pmTolerant, 0,
  1396. /* [10] */    0x0000, 0x0000, 0xD400, pmTolerant, 0,
  1397. /* [11] */    0x46E3, 0x0000, 0xA53E, pmTolerant, 0,
  1398. /* [12] */    0xF2D7, 0x0856, 0x84EC, pmTolerant, 0,
  1399. /* [13] */    0x90D7, 0x7160, 0x3A34, pmTolerant, 0,
  1400. /* [14] */    0x0241, 0xAB54, 0xEAFF, pmTolerant, 0,
  1401. /* [15] */    0x0000, 0x64AF, 0x11B0, pmTolerant, 0,
  1402. /* [16] */    0x5600, 0x2C9D, 0x0524, pmTolerant, 0,    /* end of standard palette */
  1403. /* [17] */    0xFFFF, 0x0000, 0x0000, pmAnimated, 0,    /* start with red. */
  1404. /* [18] */    0xFFFF, 0x0400, 0x0000, pmAnimated, 0,
  1405. /* [19] */    0xFFFF, 0x0800, 0x0000, pmAnimated, 0,
  1406. /* [20] */    0xFFFF, 0x0C00, 0x0000, pmAnimated, 0,
  1407. /* [21] */    0xFFFF, 0x1000, 0x0000, pmAnimated, 0,
  1408. /* [22] */    0xFFFF, 0x1400, 0x0000, pmAnimated, 0,
  1409. /* [23] */    0xFFFF, 0x1800, 0x0000, pmAnimated, 0,
  1410. /* [24] */    0xFFFF, 0x1C00, 0x0000, pmAnimated, 0,
  1411. /* [25] */    0xFFFF, 0x2000, 0x0000, pmAnimated, 0,
  1412. /* [26] */    0xFFFF, 0x2400, 0x0000, pmAnimated, 0,
  1413. /* [27] */    0xFFFF, 0x2800, 0x0000, pmAnimated, 0,
  1414. /* [28] */    0xFFFF, 0x2C00, 0x0000, pmAnimated, 0,
  1415. /* [29] */    0xFFFF, 0x3000, 0x0000, pmAnimated, 0,
  1416. /* [30] */    0xFFFF, 0x3400, 0x0000, pmAnimated, 0,
  1417. /* [31] */    0xFFFF, 0x3800, 0x0000, pmAnimated, 0,
  1418. /* [32] */    0xFFFF, 0x3C00, 0x0000, pmAnimated, 0,
  1419. /* [33] */    0xFFFF, 0x4000, 0x0000, pmAnimated, 0,
  1420. /* [34] */    0xFFFF, 0x4400, 0x0000, pmAnimated, 0,
  1421. /* [35] */    0xFFFF, 0x4800, 0x0000, pmAnimated, 0,
  1422. /* [36] */    0xFFFF, 0x4C00, 0x0000, pmAnimated, 0,
  1423. /* [37] */    0xFFFF, 0x5000, 0x0000, pmAnimated, 0,
  1424. /* [38] */    0xFFFF, 0x5400, 0x0000, pmAnimated, 0,
  1425. /* [39] */    0xFFFF, 0x5800, 0x0000, pmAnimated, 0,
  1426. /* [40] */    0xFFFF, 0x5C00, 0x0000, pmAnimated, 0,
  1427. /* [41] */    0xFFFF, 0x6000, 0x0000, pmAnimated, 0,
  1428. /* [42] */    0xFFFF, 0x6400, 0x0000, pmAnimated, 0,
  1429. /* [43] */    0xFFFF, 0x6800, 0x0000, pmAnimated, 0,
  1430. /* [44] */    0xFFFF, 0x6C00, 0x0000, pmAnimated, 0,
  1431. /* [45] */    0xFFFF, 0x7000, 0x0000, pmAnimated, 0,
  1432. /* [46] */    0xFFFF, 0x7400, 0x0000, pmAnimated, 0,
  1433. /* [47] */    0xFFFF, 0x7800, 0x0000, pmAnimated, 0,
  1434. /* [48] */    0xFFFF, 0x7C00, 0x0000, pmAnimated, 0,
  1435. /* [49] */    0xFFFF, 0x8000, 0x0000, pmAnimated, 0,
  1436. /* [50] */    0xFFFF, 0x8400, 0x0000, pmAnimated, 0,
  1437. /* [51] */    0xFFFF, 0x8800, 0x0000, pmAnimated, 0,
  1438. /* [52] */    0xFFFF, 0x8C00, 0x0000, pmAnimated, 0,
  1439. /* [53] */    0xFFFF, 0x9000, 0x0000, pmAnimated, 0,
  1440. /* [54] */    0xFFFF, 0x9400, 0x0000, pmAnimated, 0,
  1441. /* [55] */    0xFFFF, 0x9800, 0x0000, pmAnimated, 0,
  1442. /* [56] */    0xFFFF, 0x9C00, 0x0000, pmAnimated, 0,
  1443. /* [57] */    0xFFFF, 0xA000, 0x0000, pmAnimated, 0,
  1444. /* [58] */    0xFFFF, 0xA400, 0x0000, pmAnimated, 0,
  1445. /* [59] */    0xFFFF, 0xA800, 0x0000, pmAnimated, 0,
  1446. /* [60] */    0xFFFF, 0xAC00, 0x0000, pmAnimated, 0,
  1447. /* [61] */    0xFFFF, 0xB000, 0x0000, pmAnimated, 0,
  1448. /* [62] */    0xFFFF, 0xB400, 0x0000, pmAnimated, 0,
  1449. /* [63] */    0xFFFF, 0xB800, 0x0000, pmAnimated, 0,
  1450. /* [64] */    0xFFFF, 0xBC00, 0x0000, pmAnimated, 0,
  1451. /* [65] */    0xFFFF, 0xC000, 0x0000, pmAnimated, 0,
  1452. /* [66] */    0xFFFF, 0xC400, 0x0000, pmAnimated, 0,
  1453. /* [67] */    0xFFFF, 0xC800, 0x0000, pmAnimated, 0,
  1454. /* [68] */    0xFFFF, 0xCC00, 0x0000, pmAnimated, 0,
  1455. /* [69] */    0xFFFF, 0xD000, 0x0000, pmAnimated, 0,
  1456. /* [70] */    0xFFFF, 0xD400, 0x0000, pmAnimated, 0,
  1457. /* [71] */    0xFFFF, 0xD800, 0x0000, pmAnimated, 0,
  1458. /* [72] */    0xFFFF, 0xDC00, 0x0000, pmAnimated, 0,
  1459. /* [73] */    0xFFFF, 0xE000, 0x0000, pmAnimated, 0,
  1460. /* [74] */    0xFFFF, 0xE400, 0x0000, pmAnimated, 0,
  1461. /* [75] */    0xFFFF, 0xE800, 0x0000, pmAnimated, 0,
  1462. /* [76] */    0xFFFF, 0xEC00, 0x0000, pmAnimated, 0,
  1463. /* [77] */    0xFFFF, 0xF000, 0x0000, pmAnimated, 0,
  1464. /* [78] */    0xFFFF, 0xF400, 0x0000, pmAnimated, 0,
  1465. /* [79] */    0xFFFF, 0xF800, 0x0000, pmAnimated, 0,
  1466. /* [80] */    0xFFFF, 0xFC00, 0x0000, pmAnimated, 0,
  1467. /* [81] */    0xFFFF, 0xFFFF, 0x0000, pmAnimated, 0,    /* end of first set. */
  1468. /* [82] */    0x0000, 0xFFFF, 0x0000, pmAnimated, 0,    /* second set is green */
  1469. /* [83] */    0x0000, 0xFFFF, 0x0400, pmAnimated, 0,
  1470. /* [84] */    0x0000, 0xFFFF, 0x0800, pmAnimated, 0,
  1471. /* [85] */    0x0000, 0xFFFF, 0x0C00, pmAnimated, 0,
  1472. /* [86] */    0x0000, 0xFFFF, 0x1000, pmAnimated, 0,
  1473. /* [87] */    0x0000, 0xFFFF, 0x1400, pmAnimated, 0,
  1474. /* [88] */    0x0000, 0xFFFF, 0x1800, pmAnimated, 0,
  1475. /* [89] */    0x0000, 0xFFFF, 0x1C00, pmAnimated, 0,
  1476. /* [90] */    0x0000, 0xFFFF, 0x2000, pmAnimated, 0,
  1477. /* [91] */    0x0000, 0xFFFF, 0x2400, pmAnimated, 0,
  1478. /* [92] */    0x0000, 0xFFFF, 0x2800, pmAnimated, 0,
  1479. /* [93] */    0x0000, 0xFFFF, 0x2C00, pmAnimated, 0,
  1480. /* [94] */    0x0000, 0xFFFF, 0x3000, pmAnimated, 0,
  1481. /* [95] */    0x0000, 0xFFFF, 0x3400, pmAnimated, 0,
  1482. /* [96] */    0x0000, 0xFFFF, 0x3800, pmAnimated, 0,
  1483. /* [97] */    0x0000, 0xFFFF, 0x3C00, pmAnimated, 0,
  1484. /* [98] */    0x0000, 0xFFFF, 0x4000, pmAnimated, 0,
  1485. /* [99] */    0x0000, 0xFFFF, 0x4400, pmAnimated, 0,
  1486. /* [100] */    0x0000, 0xFFFF, 0x4800, pmAnimated, 0,
  1487. /* [101] */    0x0000, 0xFFFF, 0x4C00, pmAnimated, 0,
  1488. /* [102] */    0x0000, 0xFFFF, 0x5000, pmAnimated, 0,
  1489. /* [103] */    0x0000, 0xFFFF, 0x5400, pmAnimated, 0,
  1490. /* [104] */    0x0000, 0xFFFF, 0x5800, pmAnimated, 0,
  1491. /* [105] */    0x0000, 0xFFFF, 0x5C00, pmAnimated, 0,
  1492. /* [106] */    0x0000, 0xFFFF, 0x6000, pmAnimated, 0,
  1493. /* [107] */    0x0000, 0xFFFF, 0x6400, pmAnimated, 0,
  1494. /* [108] */    0x0000, 0xFFFF, 0x6800, pmAnimated, 0,
  1495. /* [109] */    0x0000, 0xFFFF, 0x6C00, pmAnimated, 0,
  1496. /* [110] */    0x0000, 0xFFFF, 0x7000, pmAnimated, 0,
  1497. /* [111] */    0x0000, 0xFFFF, 0x7400, pmAnimated, 0,
  1498. /* [112] */    0x0000, 0xFFFF, 0x7800, pmAnimated, 0,
  1499. /* [113] */    0x0000, 0xFFFF, 0x7C00, pmAnimated, 0,
  1500. /* [114] */    0x0000, 0xFFFF, 0x8000, pmAnimated, 0,
  1501. /* [115] */    0x0000, 0xFFFF, 0x8400, pmAnimated, 0,
  1502. /* [116] */    0x0000, 0xFFFF, 0x8800, pmAnimated, 0,
  1503. /* [117] */    0x0000, 0xFFFF, 0x8C00, pmAnimated, 0,
  1504. /* [118] */    0x0000, 0xFFFF, 0x9000, pmAnimated, 0,
  1505. /* [119] */    0x0000, 0xFFFF, 0x9400, pmAnimated, 0,
  1506. /* [120] */    0x0000, 0xFFFF, 0x9800, pmAnimated, 0,
  1507. /* [121] */    0x0000, 0xFFFF, 0x9C00, pmAnimated, 0,
  1508. /* [122] */    0x0000, 0xFFFF, 0xA000, pmAnimated, 0,
  1509. /* [123] */    0x0000, 0xFFFF, 0xA400, pmAnimated, 0,
  1510. /* [124] */    0x0000, 0xFFFF, 0xA800, pmAnimated, 0,
  1511. /* [125] */    0x0000, 0xFFFF, 0xAC00, pmAnimated, 0,
  1512. /* [126] */    0x0000, 0xFFFF, 0xB000, pmAnimated, 0,
  1513. /* [127] */    0x0000, 0xFFFF, 0xB400, pmAnimated, 0,
  1514. /* [128] */    0x0000, 0xFFFF, 0xB800, pmAnimated, 0,
  1515. /* [129] */    0x0000, 0xFFFF, 0xBC00, pmAnimated, 0,
  1516. /* [130] */    0x0000, 0xFFFF, 0xC000, pmAnimated, 0,
  1517. /* [131] */    0x0000, 0xFFFF, 0xC400, pmAnimated, 0,
  1518. /* [132] */    0x0000, 0xFFFF, 0xC800, pmAnimated, 0,
  1519. /* [133] */    0x0000, 0xFFFF, 0xCC00, pmAnimated, 0,
  1520. /* [134] */    0x0000, 0xFFFF, 0xD000, pmAnimated, 0,
  1521. /* [135] */    0x0000, 0xFFFF, 0xD400, pmAnimated, 0,
  1522. /* [136] */    0x0000, 0xFFFF, 0xD800, pmAnimated, 0,
  1523. /* [137] */    0x0000, 0xFFFF, 0xDC00, pmAnimated, 0,
  1524. /* [138] */    0x0000, 0xFFFF, 0xE000, pmAnimated, 0,
  1525. /* [139] */    0x0000, 0xFFFF, 0xE400, pmAnimated, 0,
  1526. /* [140] */    0x0000, 0xFFFF, 0xE800, pmAnimated, 0,
  1527. /* [141] */    0x0000, 0xFFFF, 0xEC00, pmAnimated, 0,
  1528. /* [142] */    0x0000, 0xFFFF, 0xF000, pmAnimated, 0,
  1529. /* [143] */    0x0000, 0xFFFF, 0xF400, pmAnimated, 0,
  1530. /* [144] */    0x0000, 0xFFFF, 0xF800, pmAnimated, 0,
  1531. /* [145] */    0x0000, 0xFFFF, 0xFC00, pmAnimated, 0,
  1532. /* [146] */    0x0000, 0xFFFF, 0xFFFF, pmAnimated, 0,    /* end of second set */
  1533. /* [147] */    0x0000, 0x0000, 0xFFFF, pmAnimated, 0,    /* final set is blue */
  1534. /* [148] */    0x0400, 0x0000, 0xFFFF, pmAnimated, 0,
  1535. /* [149] */    0x0800, 0x0000, 0xFFFF, pmAnimated, 0,
  1536. /* [150] */    0x0C00, 0x0000, 0xFFFF, pmAnimated, 0,
  1537. /* [151] */    0x1000, 0x0000, 0xFFFF, pmAnimated, 0,
  1538. /* [152] */    0x1400, 0x0000, 0xFFFF, pmAnimated, 0,
  1539. /* [153] */    0x1800, 0x0000, 0xFFFF, pmAnimated, 0,
  1540. /* [154] */    0x1C00, 0x0000, 0xFFFF, pmAnimated, 0,
  1541. /* [155] */    0x2000, 0x0000, 0xFFFF, pmAnimated, 0,
  1542. /* [156] */    0x2400, 0x0000, 0xFFFF, pmAnimated, 0,
  1543. /* [157] */    0x2800, 0x0000, 0xFFFF, pmAnimated, 0,
  1544. /* [158] */    0x2C00, 0x0000, 0xFFFF, pmAnimated, 0,
  1545. /* [159] */    0x3000, 0x0000, 0xFFFF, pmAnimated, 0,
  1546. /* [160] */    0x3400, 0x0000, 0xFFFF, pmAnimated, 0,
  1547. /* [161] */    0x3800, 0x0000, 0xFFFF, pmAnimated, 0,
  1548. /* [162] */    0x3C00, 0x0000, 0xFFFF, pmAnimated, 0,
  1549. /* [163] */    0x4000, 0x0000, 0xFFFF, pmAnimated, 0,
  1550. /* [164] */    0x4400, 0x0000, 0xFFFF, pmAnimated, 0,
  1551. /* [165] */    0x4800, 0x0000, 0xFFFF, pmAnimated, 0,
  1552. /* [166] */    0x4C00, 0x0000, 0xFFFF, pmAnimated, 0,
  1553. /* [167] */    0x5000, 0x0000, 0xFFFF, pmAnimated, 0,
  1554. /* [168] */    0x5400, 0x0000, 0xFFFF, pmAnimated, 0,
  1555. /* [169] */    0x5800, 0x0000, 0xFFFF, pmAnimated, 0,
  1556. /* [170] */    0x5C00, 0x0000, 0xFFFF, pmAnimated, 0,
  1557. /* [171] */    0x6000, 0x0000, 0xFFFF, pmAnimated, 0,
  1558. /* [172] */    0x6400, 0x0000, 0xFFFF, pmAnimated, 0,
  1559. /* [173] */    0x6800, 0x0000, 0xFFFF, pmAnimated, 0,
  1560. /* [174] */    0x6C00, 0x0000, 0xFFFF, pmAnimated, 0,
  1561. /* [175] */    0x7000, 0x0000, 0xFFFF, pmAnimated, 0,
  1562. /* [176] */    0x7400, 0x0000, 0xFFFF, pmAnimated, 0,
  1563. /* [177] */    0x7800, 0x0000, 0xFFFF, pmAnimated, 0,
  1564. /* [178] */    0x7C00, 0x0000, 0xFFFF, pmAnimated, 0,
  1565. /* [179] */    0x8000, 0x0000, 0xFFFF, pmAnimated, 0,
  1566. /* [180] */    0x8400, 0x0000, 0xFFFF, pmAnimated, 0,
  1567. /* [181] */    0x8800, 0x0000, 0xFFFF, pmAnimated, 0,
  1568. /* [182] */    0x8C00, 0x0000, 0xFFFF, pmAnimated, 0,
  1569. /* [183] */    0x9000, 0x0000, 0xFFFF, pmAnimated, 0,
  1570. /* [184] */    0x9400, 0x0000, 0xFFFF, pmAnimated, 0,
  1571. /* [185] */    0x9800, 0x0000, 0xFFFF, pmAnimated, 0,
  1572. /* [186] */    0x9C00, 0x0000, 0xFFFF, pmAnimated, 0,
  1573. /* [187] */    0xA000, 0x0000, 0xFFFF, pmAnimated, 0,
  1574. /* [188] */    0xA400, 0x0000, 0xFFFF, pmAnimated, 0,
  1575. /* [189] */    0xA800, 0x0000, 0xFFFF, pmAnimated, 0,
  1576. /* [190] */    0xAC00, 0x0000, 0xFFFF, pmAnimated, 0,
  1577. /* [191] */    0xB000, 0x0000, 0xFFFF, pmAnimated, 0,
  1578. /* [192] */    0xB400, 0x0000, 0xFFFF, pmAnimated, 0,
  1579. /* [193] */    0xB800, 0x0000, 0xFFFF, pmAnimated, 0,
  1580. /* [194] */    0xBC00, 0x0000, 0xFFFF, pmAnimated, 0,
  1581. /* [195] */    0xC000, 0x0000, 0xFFFF, pmAnimated, 0,
  1582. /* [196] */    0xC400, 0x0000, 0xFFFF, pmAnimated, 0,
  1583. /* [197] */    0xC800, 0x0000, 0xFFFF, pmAnimated, 0,
  1584. /* [198] */    0xCC00, 0x0000, 0xFFFF, pmAnimated, 0,
  1585. /* [199] */    0xD000, 0x0000, 0xFFFF, pmAnimated, 0,
  1586. /* [200] */    0xD400, 0x0000, 0xFFFF, pmAnimated, 0,
  1587. /* [201] */    0xD800, 0x0000, 0xFFFF, pmAnimated, 0,
  1588. /* [202] */    0xDC00, 0x0000, 0xFFFF, pmAnimated, 0,
  1589. /* [203] */    0xE000, 0x0000, 0xFFFF, pmAnimated, 0,
  1590. /* [204] */    0xE400, 0x0000, 0xFFFF, pmAnimated, 0,
  1591. /* [205] */    0xE800, 0x0000, 0xFFFF, pmAnimated, 0,
  1592. /* [206] */    0xEC00, 0x0000, 0xFFFF, pmAnimated, 0,
  1593. /* [207] */    0xF000, 0x0000, 0xFFFF, pmAnimated, 0,
  1594. /* [208] */    0xF400, 0x0000, 0xFFFF, pmAnimated, 0,
  1595. /* [209] */    0xF800, 0x0000, 0xFFFF, pmAnimated, 0,
  1596. /* [210] */    0xFC00, 0x0000, 0xFFFF, pmAnimated, 0,
  1597. /* [211] */    0xFFFF, 0x0000, 0xFFFF, pmAnimated, 0
  1598.     }
  1599. };
  1600.  
  1601.